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 setzt die ID des Audiogeräts, das für die Ausgabe verwendet werden soll, und gibt ein Promise zurück.

Dies funktioniert nur, wenn der Anwendung die Verwendung des angegebenen Geräts erlaubt ist. Weitere Informationen finden Sie unten bei den Sicherheitsanforderungen.

Syntax

js
setSinkId(sinkId)

Parameter

sinkId

Die MediaDeviceInfo.deviceId des Audioausgabegeräts.

Rückgabewert

Ein Promise, das auf 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 Einschränkungen:

Beispiele

Dieses Beispiel zeigt, wie Sie ein Audioausgabegerät aus dem Array auswählen, das von MediaDevices.enumerateDevices() zurückgegeben wird, und es als Ausgabe für Audio einstellen. Beachten Sie, dass das Ergebnis von enumerateDevices() nur Geräte enthält, für die keine Benutzererlaubnis erforderlich ist oder 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

BCD tables only load in the browser

Siehe auch