WebRTC - 如何识别MediaStream(轨道)的源ID(设备ID)

zab*_*mba 3 javascript webrtc

一旦我建立了WebRTC连接,我就能getLocalStreamsgetRemoteStreams.

流有自己的ID.每个流都由音频/视频轨道组成MediaStreamTrack.

我希望能够识别用于每个轨道的设备/源(ID),以避免添加已添加到连接的流.

换句话说,我正在考虑检查connection.onaddstream流轨道是否已经存在于我的本地或远程流列表中.

有什么建议?

Adr*_*Ber 6

每个人MediaStreamTrack都可以打电话.getCapabilities().deviceId来获取deviceId.

但我不确定您是否可以在同一浏览器中使用相同的设备ID两次.

  • 不幸的是 Firefox 仍然不支持。getSettings() 是更好的选择 (2认同)

sel*_*van 5

.getSettings().deviceId 音频/视频轨道(MediaStreamTrack 的实例)将返回与从 enumerateDevices() 返回的 deviceId 相同的 deviceId