enumerateDevices:有没有办法确定设备是内置的?

问题描述

一个webRTC应用程序中,我想将语音聊天参与者(最多5个)的音频路由到不同的设备(使用sinkID)。不幸的是,这仅适用于所有传入的音频,因为webRTC似乎将它们混合在一起。

为避免这种情况,我克隆了每个流,并将克隆的音频元素连接到可以正常工作的不同接收器。缺点:回声消除不再正常工作,可能是因为在回声消除过程中未考虑克隆的流。

因此,为了规避 行为,如果要将音频流路由到内部设备(例如扬声器或耳机),我想使克隆的流静音,在这种情况下,而是会听到原始流的音频(路由时仅需要克隆)。

但是如何从enumerateDevices收集的列表中确定设备是内部设备还是外部设备?我看到有些浏览器在标签显示(内置)或类似的字符串,但是我不确定这是确定设备是否在内部的好方法

还有其他方法吗?

或者:除了上述方法之外,是否可以将具有多个RTCPeerConnections的会话中的多个流的音频路由到不同的输出通道?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)