HTMLMediaElement : méthode setSinkId()
Contexte sécurisé: Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.
La méthode setSinkId() de l'interface HTMLMediaElement définit l'identifiant du périphérique audio à utiliser pour la sortie et retourne une promesse (Promise).
Cela ne fonctionne que lorsque l'application est autorisée à utiliser le périphérique défini. Pour plus d'informations, voir les exigences de sécurité ci-dessous.
Syntaxe
setSinkId(sinkId)
Paramètres
sinkId-
L'identifiant (
MediaDeviceInfo.deviceId) du périphérique de sortie audio.
Valeur de retour
Exceptions
NotAllowedErrorDOMException-
Retourne une erreur si une politique de permissions
speaker-selectionest utilisée pour bloquer l'utilisation des sorties audio. NotFoundErrorDOMException-
Retourne une erreur si l'identifiant du périphérique (
deviceId) ne correspond à aucun périphérique de sortie audio. AbortErrorDOMException-
Retourne une erreur si le changement de périphérique de sortie audio vers le nouveau périphérique a échoué.
Exigences de sécurité
L'accès à l'API est soumis aux contraintes suivantes :
- La méthode doit être appelée dans un contexte sécurisé.
- L'accès peut être restreint par la politique de permissions HTTP
speaker-selection. - L'autorisation de l'utilisateur·ice est requise pour accéder à un périphérique qui n'est pas celui par défaut.
L'utilisateur·ice accorde l'autorisation en sélectionnant le périphérique associé à l'ID dans l'invite affichée par
MediaDevices.selectAudioOutput().
Exemples
Cet exemple montre comment sélectionner un périphérique de sortie audio à partir du tableau retourné par MediaDevices.enumerateDevices(), et le définir comme sortie audio.
Notez que le résultat de enumerateDevices() n'inclut que les périphériques pour lesquels l'autorisation de l'utilisateur·ice n'est pas requise ou a déjà été accordée.
const peripheriques = await navigator.mediaDevices.enumerateDevices();
const peripheriqueAudio = peripheriques.find(
(device) => device.kind === "audiooutput",
);
const audio = document.createElement("audio");
await audio.setSinkId(peripheriqueAudio.deviceId);
console.log(`L'audio est diffusé sur ${audio.sinkId}`);
Spécifications
| Spécification |
|---|
| Audio Output Devices API> # dom-htmlmediaelement-setsinkid> |
Compatibilité des navigateurs
Voir aussi
- L'API Audio Output Devices
- La méthode
MediaDevices.selectAudioOutput() - La propriété
HTMLMediaElement.sinkId