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 der HTMLMediaElement-Schnittstelle setzt die ID des Audiogeräts, das für die Wiedergabe 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 in den Sicherheitsanforderungen unten.

Syntax

js
setSinkId(sinkId)

Parameter

sinkId

Die MediaDeviceInfo.deviceId des Audioausgabegeräts.

Rückgabewert

Ein Promise, das zu undefined aufgelöst wird.

Ausnahmen

NotAllowedError DOMException

Wird zurückgegeben, wenn eine speaker-selection Berechtigungsrichtlinie verwendet wird, um die Nutzung von Audioausgaben zu blockieren.

NotFoundError DOMException

Wird zurückgegeben, wenn die deviceId keinem Audioausgabegerät entspricht.

AbortError DOMException

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 Beschränkungen:

Beispiele

Dieses Beispiel zeigt, wie man ein Audioausgabegerät aus dem Array auswählt, das von MediaDevices.enumerateDevices() zurückgegeben wird, und es als Audio-Senke festlegt. Beachten Sie, dass das Ergebnis von enumerateDevices() nur Geräte enthält, für die keine Benutzerberechtigung erforderlich ist oder die bereits erteilt wurde.

js
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

Browser-Kompatibilität

Siehe auch