MediaTrackConstraints: свойство deviceId
Базовый Широко доступный
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2017 года.
Свойство deviceId словаря MediaTrackConstraints является ConstrainDOMString, описывающим запрошенные или обязательные ограничения, накладываемые на значение свойства deviceId.
При необходимости можно определить, поддерживается ли это ограничение, проверив значение MediaTrackSupportedConstraints.deviceId, возвращаемое в результате вызова MediaDevices.getSupportedConstraints(). Однако обычно это не нужно, так как браузеры игнорируют любые ограничения, с которыми не знакомы.
Поскольку RTP не содержит этой информации, треки, связанные с WebRTC RTCPeerConnection, никогда не будут включать это свойство.
Значение
Объект, основанный на ConstrainDOMString, определяющий один или несколько приемлемых, оптимальных и/или точных (обязательных) идентификаторов устройств, которые приемлемы в качестве источника медиа-контента.
Идентификаторы устройств уникальны для данного источника и гарантированно одинаковы во всех сессиях просмотра в рамках одного источника. Однако значение deviceId определяется источником контента трека, и в спецификации не определен конкретный формат (хотя рекомендуется использовать какой-либо GUID). Это означает, что данный трек вернёт только одно значение для deviceId при вызове getCapabilities().
Из-за этого идентификатор устройства бесполезен при вызове MediaStreamTrack.applyConstraints(), так как существует только одно возможное значение; однако вы можете сохранить deviceId и использовать его для обеспечения получения того же источника при нескольких вызовах getUserMedia().
Примечание: Исключение из правила, что идентификаторы устройств одинаковы во всех сессиях просмотра: в режиме инкогнито будет использоваться другой идентификатор, и он будет меняться в каждой сессии просмотра.
Примеры
Смотрите пример Constraint exerciser.
Спецификации
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
deviceId |
59 | ≤79 | 43До Firefox 69, Firefox поддерживал толькоdeviceId в ограничениях, переданных в getUserMedia(). |
46 | 11 | 59 | 43Firefox для Android поддерживает толькоdeviceId при использовании в ограничениях, переданных в getUserMedia(). |
43 | 11 | 7.0 | 59 |
См. также
© 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/MediaTrackConstraints/deviceId