MediaTrackSettings: deviceId 属性
MediaTrackSettings 字典的 deviceId 属性是一个字符串,它唯一标识了对应于浏览会话的来源的 MediaStreamTrack 的来源。这允许您确定在调用 getUserMedia() 时,为了满足您为该属性值指定的约束条件,实际选择了哪个值,具体描述请参见 MediaTrackConstraints.deviceId 属性。
如果需要,您可以通过调用 MediaDevices.getSupportedConstraints() 并检查返回的 MediaTrackSupportedConstraints.deviceId 的值来确定此约束是否受支持。但通常这没有必要,因为浏览器会忽略它们不认识的任何约束。
值
一个字符串,其值是来源的、对来源唯一的标识符。此 ID 在同一来源的多个浏览会话中都是有效的,并且保证与其他所有来源都不同,因此您可以安全地使用它来请求在多个会话中使用相同的来源,例如。
然而,字符串的实际值由轨道的来源决定,并且不保证其形式。尽管规范建议它应该是一个 GUID。
由于 ID 与每个来源是一对一的匹配,对于给定的来源,所有具有相同来源的轨道都将共享相同的 ID,因此 MediaStreamTrack.getCapabilities() 对于 deviceId 将始终返回一个值。这使得设备 ID 在调用 MediaStreamTrack.applyConstraints() 时,对于任何约束的更改都无济于事。
注意: 设备 ID 在浏览会话之间保持不变的规则有一个例外:私密浏览模式将使用一个不同的 ID,并且该 ID 在每个浏览会话中都会发生变化。
示例
请参阅 Constraint exerciser 示例。
规范
| 规范 |
|---|
| 媒体捕获和流 # dom-mediatrackconstraintset-deviceid |
浏览器兼容性
加载中…