MediaTrackSettings: свойство deviceId
Базовая Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна в браузерах с сентября 2017 года.
Свойство deviceId словаря MediaTrackSettings — строка, уникально идентифицирующая источник соответствующего MediaStreamTrack для происхождения, соответствующего сеансу просмотра. Это позволяет определить, какое значение было выбрано для соответствия вашим указанным ограничениям для значения этого свойства, как описано в свойстве MediaTrackConstraints.deviceId, предоставленном вами при вызове getUserMedia().
При необходимости вы можете определить, поддерживается ли это ограничение, проверив значение MediaTrackSupportedConstraints.deviceId, возвращаемое при вызове MediaDevices.getSupportedConstraints(). Однако, обычно это не нужно, так как браузеры игнорируют любые ограничения, с которыми они не знакомы.
Поскольку RTP не содержит этой информации, треки, связанные с WebRTC RTCPeerConnection, никогда не включат это свойство.
Значение
Строка, значение которой является уникальным идентификатором источника трека для данного происхождения. Этот идентификатор действителен в нескольких сеансах просмотра для одного и того же происхождения и гарантированно отличается для всех других происхождений, поэтому вы можете безопасно использовать его для запроса того же источника для нескольких сеансов.
Однако фактическое значение строки определяется источником трека, и нет гарантии, какой формы оно примет, хотя спецификация рекомендует использовать GUID.
Поскольку существует взаимно однозначное соответствие между идентификатором и каждым источником, все треки с одинаковым источником будут иметь одинаковый идентификатор для любого данного происхождения, поэтому MediaStreamTrack.getCapabilities() всегда вернет ровно одно значение для deviceId. Это делает идентификатор устройства бесполезным для любых изменений ограничений при вызове MediaStreamTrack.applyConstraints().
Примечание: Исключение из правила, что идентификаторы устройств одинаковы во всех сеансах просмотра: режим частного просмотра будет использовать другой идентификатор и изменять его в каждом сеансе.
Примеры
См. пример инициализатора ограничений.
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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/MediaTrackSettings/deviceId