Spec-Zone.ru › Web APIs

HTMLMediaElement: метод setSinkId()

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или всех поддерживающих браузерах.

Метод setSinkId() интерфейса HTMLMediaElement устанавливает идентификатор аудиоустройства для вывода и возвращает Promise.

Это работает только в том случае, если приложение имеет разрешение на использование указанного устройства. Дополнительную информацию см. в разделе требования к безопасности ниже.

Синтаксис

setSinkId(sinkId)

Параметры

sinkId

Идентификатор MediaDeviceInfo.deviceId аудиовывода.

Возвращаемое значение

A Promise, который разрешается в undefined.

Исключения

NotAllowedError DOMException

Возвращается, если speaker-selection Политика разрешений используется для блокирования использования аудиовыходов.

NotFoundError DOMException

Возвращается, если deviceId не соответствует ни одному аудиовыходу.

AbortError DOMException

Возвращается, если переключение аудиовывода на новое устройство завершилось неудачей.

Требования к безопасности

Доступ к API ограничен следующими условиями:

  • Метод должен вызываться в безопасном контексте.
  • Доступ может быть ограничен speaker-selection HTTP Политикой разрешений.
  • Для доступа к устройству, отличного от стандартного, требуется разрешение пользователя. Пользователь предоставляет разрешение, выбрав устройство, связанное с идентификатором, в запросе, отображаемом 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}`);

Спецификации

Спецификация
API устройств аудиовывода
# dom-htmlmediaelement-setsinkid

Совместимость с браузерами

Рабочие столы Мобильные устройства
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.

См. также

  • API устройств аудиовывода
  • MediaDevices.selectAudioOutput()
  • HTMLMediaElement.sinkId

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API