【问题标题】:WebRTC - How to identify the source IDs (device IDs) for a MediaStream(Tracks)WebRTC - 如何识别 MediaStream(Tracks) 的源 ID(设备 ID)
【发布时间】:2016-09-28 10:06:14
【问题描述】:

一旦我建立了 WebRTC 连接,我就可以getLocalStreamsgetRemoteStreams

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

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

换句话说,我想在connection.onaddstream 中检查一下,我的本地或远程流列表中还没有流轨道。

有什么建议吗?

【问题讨论】:

    标签: javascript webrtc


    【解决方案1】:

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

    【讨论】:

    • 好在 Firefox 也支持它
    【解决方案2】:

    对于每个MediaStreamTrack,您可以调用.getCapabilities().deviceId 来获取deviceId。

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

    【讨论】:

    【解决方案3】:

    您可以使用 MediaStreamTrack 的 MediaStreamTrack.id 属性。它返回一个包含轨道唯一标识符 (GUID) 的 DOM 字符串;它是由浏览器生成的。

    【讨论】:

    • 很高兴知道,但您提到的 id 与用于轨道的相机或麦克风的 deviceId 不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多