MediaTrackConstraints:deviceId 属性
MediaTrackConstraints
字典的 deviceId
属性是一个 ConstrainDOMString
,描述了对 deviceId
可约束属性的值施加的请求或强制约束。
如果需要,您可以通过检查 MediaTrackSupportedConstraints.deviceId
的值来确定此约束是否受支持,该值由对 MediaDevices.getSupportedConstraints()
的调用返回。但是,通常这没有必要,因为浏览器会忽略任何他们不熟悉的约束。
由于 RTP 不包含此信息,因此与 WebRTC RTCPeerConnection
关联的轨道将永远不会包含此属性。
值
一个基于 ConstrainDOMString
的对象,指定一个或多个可接受的、理想的和/或精确的(强制)设备 ID,这些 ID 可作为媒体内容的来源。
设备 ID 对给定的来源是唯一的,并且保证在同一来源的浏览会话中保持一致。但是,deviceId
的值由轨道的来源决定,并且规范中没有强制执行特定的格式(尽管建议使用某种 GUID)。这意味着,当您调用 getCapabilities()
时,给定的轨道只会返回 deviceId
的一个值。
因此,在调用 MediaStreamTrack.applyConstraints()
时,设备 ID 没有用处,因为只有一个可能的值;但是,您可以记录 deviceId
并使用它来确保您在多次调用 getUserMedia()
时获得相同的来源。
注意:设备 ID 在浏览会话中保持一致的规则有一个例外:私密浏览模式将使用不同的 ID,并且每次浏览会话都会更改它。
示例
请参阅 约束练习器 示例。
规范
规范 |
---|
媒体捕获和流 # dom-mediatrackconstraintset-deviceid |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。