HTMLMediaElement: метод setSinkId()
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или всех поддерживающих браузерах.
Метод setSinkId() интерфейса HTMLMediaElement устанавливает идентификатор аудиоустройства для вывода и возвращает Promise.
Это работает только в том случае, если приложение имеет разрешение на использование указанного устройства. Дополнительную информацию см. в разделе требования к безопасности ниже.
Синтаксис
setSinkId(sinkId)
Параметры
sinkId-
Идентификатор
MediaDeviceInfo.deviceIdаудиовывода.
Возвращаемое значение
Исключения
-
NotAllowedErrorDOMException -
Возвращается, если
speaker-selectionПолитика разрешений используется для блокирования использования аудиовыходов. -
NotFoundErrorDOMException -
Возвращается, если
deviceIdне соответствует ни одному аудиовыходу. -
AbortErrorDOMException -
Возвращается, если переключение аудиовывода на новое устройство завершилось неудачей.
Требования к безопасности
Доступ к API ограничен следующими условиями:
- Метод должен вызываться в безопасном контексте.
- Доступ может быть ограничен
speaker-selectionHTTP Политикой разрешений. - Для доступа к устройству, отличного от стандартного, требуется разрешение пользователя. Пользователь предоставляет разрешение, выбрав устройство, связанное с идентификатором, в запросе, отображаемом
MediaDevices.selectAudioOutput().
Примеры
В этом примере показано, как выбрать аудиовыходное устройство из массива, возвращаемого MediaDevices.enumerateDevices(), и установить его в качестве источника звука. Обратите внимание, что результат enumerateDevices() содержит только устройства, для которых не требуется разрешение пользователя или оно уже предоставлено.
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}`);
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
setSinkId |
49 | 17 | 116 | 36 | Нет | НетНе доступно из-за ограничения в Android, см. ошибку 41276355. |
НетНе доступно из-за ограничения в Android, см. ошибку 1473346. |
НетНе доступно из-за ограничения в Android, см. ошибку 41276355. |
Нет | НетНе доступно из-за ограничения в Android, см. ошибку 41276355. |
НетНе доступно из-за ограничения в Android, см. ошибку 41276355. |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/setSinkId