HTMLMediaElement: setSinkId() 方法

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

HTMLMediaElement 介面的 setSinkId() 方法用於設定用於輸出的音訊裝置的 ID,並返回一個 Promise

這僅在應用程式被允許使用指定裝置時才有效。有關更多資訊,請參閱下面的 安全要求

語法

js
setSinkId(sinkId)

引數

sinkId

音訊輸出裝置的 MediaDeviceInfo.deviceId

返回值

一個 Promise,解析為 undefined

異常

NotAllowedError DOMException

當使用 speaker-selection 許可權策略阻止使用音訊輸出時返回。

NotFoundError DOMException

deviceId 與任何音訊輸出裝置都不匹配時返回。

AbortError DOMException

當切換音訊輸出裝置到新音訊裝置失敗時返回。

安全要求

API 的訪問受以下約束:

示例

此示例顯示瞭如何從 MediaDevices.enumerateDevices() 返回的陣列中選擇一個音訊輸出裝置,並將其設定為音訊的輸出。請注意,enumerateDevices() 的結果僅包含不需要使用者許可或已獲得使用者許可的裝置。

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}`);

規範

規範
音訊輸出裝置 API
# dom-htmlmediaelement-setsinkid

瀏覽器相容性

另見