0

我正在使用 Native Android WebRTC lib 实现 VoIP。我已经设法从 Android 应用程序向浏览器拨打电话。我可以按预期听到和说话。但是,当我尝试从浏览器呼叫 Android 应用程序时,我无法在连接的线路上听到或说话。创建一个peerConnection, setRemoteDescription, setLocalDescription, 创建一个Answerall 按预期发生(理论上)。

PS:当我拨打电话时,我在我的 Android 设备顶部看到一个麦克风正在使用的小图标。但是当我接到电话时,我看不到这样的东西。

我想知道是否有人可以帮助我了解

  1. sdp创建Answer后设置为LocalDescription的哪个需要包含在其中的IP地址和ICE候选?如果是,我如何将它们包括在内,因为我没有看到 ICE 候选人并且 IP 地址是 0.0.0.0 IP4
  2. 除了使用标准的本机 WebRTC 库之外,我是否必须做任何特定的事情来处理麦克风和扬声器。
4

1 回答 1

1

对于那些面临类似问题的人,这是我找到的解决方案。

在之后创建createAnswer()并设置为 LocalDescription 的 SDP 中,我发现该值为m=audio 0.... 这听起来不正确。a=setup:active此外,它在 SDP 中也缺失 了。

经过大量调试,我发现创建 PeerConnectionFactory 时的标志 options.disableEncryption = trueoptions.disableNetworkMonitor = true设置选项正在停止音频。所以删除这些标志解决了我的问题。

于 2020-10-27T22:24:11.647 回答