HTMLMediaElement: setSinkId()-Methode
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die setSinkId()-Methode des HTMLMediaElement-Interfaces legt die ID des Audiogeräts fest, das für die Ausgabe verwendet werden soll, und gibt ein Promise zurück.
Dies funktioniert nur, wenn die Anwendung berechtigt ist, das angegebene Gerät zu verwenden. Weitere Informationen finden Sie unter den Sicherheitsanforderungen unten.
Syntax
setSinkId(sinkId)
Parameter
sinkId-
Die
MediaDeviceInfo.deviceIddes Audioausgabegeräts.
Rückgabewert
Ausnahmen
NotAllowedErrorDOMException-
Wird zurückgegeben, wenn eine
speaker-selectionBerechtigungsrichtlinie verwendet wird, um die Verwendung von Audioausgaben zu blockieren. NotFoundErrorDOMException-
Wird zurückgegeben, wenn die
deviceIdkeinem Audioausgabegerät entspricht. AbortErrorDOMException-
Wird zurückgegeben, wenn das Umschalten des Audioausgabegeräts auf das neue Audiogerät fehlgeschlagen ist.
Sicherheitsanforderungen
Der Zugriff auf die API unterliegt den folgenden Einschränkungen:
- Die Methode muss in einem sicheren Kontext aufgerufen werden.
- Der Zugriff kann durch die
speaker-selectionHTTP-Berechtigungsrichtlinie eingeschränkt werden. - Es ist die Zustimmung des Nutzers erforderlich, um auf ein nicht standardmäßiges Gerät zuzugreifen.
Der Nutzer erteilt die Erlaubnis durch Auswahl des mit der ID verknüpften Geräts im Dialogfeld, das von
MediaDevices.selectAudioOutput()angezeigt wird.
Beispiele
Dieses Beispiel zeigt, wie man ein Audioausgabegerät aus dem Array auswählt, das von MediaDevices.enumerateDevices() zurückgegeben wird, und es als Audioausgabe festlegt.
Beachten Sie, dass das Ergebnis von enumerateDevices() nur Geräte umfasst, für die keine Benutzererlaubnis erforderlich ist oder die bereits erteilt wurde.
const devices = await navigator.mediaDevices.enumerateDevices();
const audioDevice = devices.find((device) => device.kind === "audiooutput");
const audio = document.createElement("audio");
await audio.setSinkId(audioDevice.deviceId);
console.log(`Audio is being output on ${audio.sinkId}`);
Spezifikationen
| Specification |
|---|
| Audio Output Devices API> # dom-htmlmediaelement-setsinkid> |