1

我想知道是否有办法确定两个MediaStreams是否相等

“平等”是什么意思?

我想确定两个流是否使用相同的硬件源(使用相同的麦克风和摄像头)。获取streamB完全相同的约束streamA意味着它们是相等的。

这是我迄今为止尝试过的:

  1. 通过 MediaStream 进行比较,id例如:根据规范,streamA.id == streamB.id 这会消失:

创建 MediaStream 对象时,用户代理必须生成标识符字符串,并且必须将对象的 id 属性初始化为该字符串。一个好的做法是使用 UUID [rfc4122],它的规范形式为 36 个字符。为避免指纹识别,实现在生成 UUID 时应使用 RFC 4122 的 4.4 或 4.5 节中的形式。

  1. 比较MediaStreamTracksid的's - 同样的故事,每个轨道生成一个 UUID。

  2. labels比较在当前 Chrome 中包含硬件名称/标识符的曲目。然而,这与我正在寻找的非常接近(强调我的):

用户代理可以标记音频和视频源(例如,“内部麦克风”或“外部 USB 网络摄像头”)。label 属性必须返回对象对应源的标签(如果有)。如果相应的源有或没有标签,则属性必须改为返回空字符串

我可以采取不同的方法吗?我应该永远不会遇到比较两个媒体流的情况吗?你会说我可以信任这个label属性吗?

谢谢你的时间。

4

1 回答 1

1

groupIdkind可能是你会得到的最接近的东西。直到您在同一设备上安装多个麦克风/摄像头...

于 2016-12-02T17:29:09.480 回答