【发布时间】:2026-01-11 22:20:05
【问题描述】:
我建立了一个带有音频和视频的 webRTC 连接。
在呼叫方方面,我想更改音频输入。
例如用户从下拉列表中更改audioinput。
替换现有流的音轨的工作流程是什么?
我可以添加另一个音轨并让其中一个比另一个更活跃吗?如何?
看起来我可能需要再次调用 getUserMedia 传递约束 (?),据我了解,这是创建一个新的 mediaStream 实例而不修改现有实例。
【问题讨论】:
-
在活动的peerconnection中修改MediaStream,peerconnection对象会触发onnegotiationneeded事件。处理该事件并重新交换 SDP。
-
谢谢。您能否将其详细说明为下面的答案(要调用的函数序列)。我认为这将创建一个具有不同 ID 的新 MediaStream 对吗?因此,这不会改变现有 MediaStream 的音轨(保持相同的 ID),而是重新协商与包含相同视频 + 不同音轨的新 MediaStream 的连接。
标签: javascript webrtc