我想知道是否有办法确定两个MediaStreams是否相等。
我想确定两个流是否使用相同的硬件源(正在使用相同的麦克风和相机)。
使用与streamB
完全相同的约束来获取streamA
意味着它们是平等的。
以下是我迄今为止所做的尝试:
id
进行比较,例如:streamA.id == streamB.id
根据{{3}}:创建MediaStream对象时,用户代理必须生成标识符字符串,并且必须将对象的id属性初始化为该字符串。一个好的做法是使用UUID [rfc4122],它的规范形式长度为36个字符。为了避免指纹识别,实现应该在生成UUID时使用RFC 4122的4.4或4.5节中的表单。
比较to the spec的id
- 相同的故事,每个曲目都会生成一个UUID。
比较曲目labels
,其中当前Chrome中的曲目包含硬件的名称/标识符。这非常接近我所寻找的,MediaStreamTracks(强调我的):
用户代理可以标记音频和视频源(例如,"内置麦克风"或"外部USB网络摄像头")。 label属性必须返回对象的相应源的标签(如果有)。 如果相应的来源有或没有标签,则该属性必须返回空字符串
我可以采取不同的方法吗?我是否应该在比较两个媒体流的情况下结束?您是否可以信任label
属性?
感谢您的时间。