MediaTrackSettings: groupId 属性

Baseline 已广泛支持

此特性已经十分成熟,可在许多设备和浏览器版本上使用。自 2020 年 7 月以来,它已在各大浏览器中可用。

MediaTrackSettings 字典的 groupId 属性是一个浏览会话唯一标识符,用于标识包含 MediaStreamTrack 源的设备组。这可以帮助您确定为了满足您在调用 getUserMedia() 时提供的 MediaTrackConstraints.groupId 属性所指定的约束,最终选择了哪个值。

如果需要,您可以通过调用 MediaDevices.getSupportedConstraints() 返回的 MediaTrackSupportedConstraints.groupId 的值来确定是否支持此约束。但是,通常这没有必要,因为浏览器会忽略它们不认识的任何约束。

由于 RTP 不包含此信息,因此与 WebRTC RTCPeerConnection 关联的轨道永远不会包含此属性。

一个字符串,其值是包含轨道内容源的设备组的浏览会话唯一标识符。如果两个设备属于同一个物理硬件设备,则它们共享相同的组 ID。例如,一个耳机上有两个设备:一个可以作为音频轨道源的麦克风,以及一个可以作为音频输出的扬声器。

组 ID 不能在多个浏览会话之间使用。但是,它可以用来确保音频输入和输出都在同一个耳机上执行,例如,或者确保手机上内置的摄像头和麦克风被用于视频会议目的。

然而,字符串的实际值由轨道的源确定,并且没有保证它会采用何种形式,尽管规范建议它应该是 GUID。

由于此属性在浏览会话之间不稳定,因此在调用 getUserMedia() 时,它的用途通常仅限于确保在同一浏览会话期间执行的任务使用来自同一组的设备(或不使用来自同一组的设备)。在调用 applyConstraints() 时,groupId 没有用武之地,因为该值无法更改。

示例

请参阅 Constraint exerciser 示例。

规范

规范
媒体捕获和流
# dom-mediatrackconstraintset-groupid

浏览器兼容性

另见