有什么方法可以区分 webrtc 视频通话中的屏幕共享轨迹和摄像头轨迹?
我可以使用适当的协商事件添加两个视频轨道(相机以及屏幕共享轨道)。但是,我无法区分这两个轨道(因为它们都具有kind
视频属性并且它们的 id 似乎是随机生成的并且与轨道的实际所有者的 ID)
我还经历了几个类似的问题,这些问题提出了以下几点:
1.区分使用他们的ID。
这个解决方案对我不起作用,因为一旦我重新共享我的屏幕(在停止共享然后再次共享之后),一个新的 ID 将被分配给来自重新共享的轨道。
2.使用transceiver.mid属性区分
这似乎也不起作用,因为在关闭摄像头时,摄像头轨道会从对等实例中删除(以节省带宽),并在打开摄像头时添加回来。这会在轨道所在的远程端调用 ontrack 事件不同的transceiver.mid
属性(与mid
之前的摄像机轨迹所具有的属性不同)
此外,我不能为从getUserMedia
api 获得的流分配任何额外的属性。track
对象似乎是不可变的。
请提出一种我可以用来区分这两条轨道的方法。
谢谢