iOS/Android上的WebRTC中的多方音频是乱码

cla*_*woo 5 android ios video-conferencing webrtc

我正在试图找出执行以下操作的最佳方法:在A方和B方之间建立对等连接,我想添加第三方C,但困难在于我不想要全网状配置, B应仅通过A(MCU设置,其中A是MCU)与C通信.

B <-> A <-> C
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试的是:当创建peerConnectionAC并调用didAddStream回调时,我将peerConnectionAB.remoteStream作为本地流添加到peerConnectionAC,如下所示:

peerConnectionAC.addStream(remoteStreamAB)
Run Code Online (Sandbox Code Playgroud)

然后,我反过来做:

peerConnectionAB.addStream(remoteStreamAC)
Run Code Online (Sandbox Code Playgroud)

此时,WebRTC触发重新协商回调,以便生成新的要约并将其发送给各方.

音频现在在B和C之间通过A流动,但它非常乱码,几乎无法理解.从A的麦克风流向B和C的音频仍然清晰.

两个对等连接使用相同的编解码器(OPUS,但也尝试使用iLBC)和相同的采样率.

我发现的唯一参考是半年多前的问题,但没有明确的答案.

这似乎很容易在浏览器设置中完成,但我需要它作为独立的应用程序在iOS/Android上运行.

谁能给我一个关于如何修复乱码音频的想法或指针?