HTMLMediaElement: setSinkId() method
The HTMLMediaElement.setSinkId()
method sets the ID of the audio device to use for output and returns a Promise
.
This only works when the application is authorized to use the specified device.
Syntax
js
setSinkId(sinkId)
Parameters
sinkId
-
The
MediaDeviceInfo.deviceId
of the audio output device.
Return value
Exceptions
NotAllowedError
DOMException
-
Returned if a
speaker-selection
Permissions Policy is used to block use of audio outputs. NotFoundError
DOMException
-
Returned if the
deviceId
does not match any audio output device. AbortError
DOMException
-
Returned if switching the audio output device to the new audio device failed.
Security requirements
Access to the API is subject to the following constraints:
- The method must be called in a secure context.
- Access may be gated by the
speaker-selection
HTTP Permission Policy.
Examples
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}`);
Specifications
Specification |
---|
Audio Output Devices API # dom-htmlmediaelement-setsinkid |
Browser compatibility
BCD tables only load in the browser