HTMLMediaElement.setSinkId()

HTMLMediaElement.setSinkId() メソッドは、出力に使用するオーディオ機器の ID を設定し、 Promise を返します。 これは、アプリケーションが指定された機器を使用することを許可されている場合にのみ動作します。

構文

js
setSinkId(sinkId)

引数

sinkId

オーディオ出力機器の MediaDeviceInfo.deviceId です。

返値

Promise で、 undefined に解決します。

例外

NotAllowedError DOMException

speaker-selection 許可ポリシーが音声出力の使用をブロックするために使用された場合に返されます。

NotFoundError DOMException

deviceId がどの音声機器にも一致しない場合に返されます。

AbortError DOMException

音声出力機器から新しい音声機器への切り替えに失敗した場合に返されます。

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 played on ${audio.sinkId}`);

仕様書

Specification
Audio Output Devices API
# dom-htmlmediaelement-setsinkid

ブラウザーの互換性

BCD tables only load in the browser