android webRTC无声音接听电话

问题描述

我正在使用本机Android WebRTC库实现VoIP。我设法从Android应用程序向浏览器发出了呼叫。我可以按预期听和说。但是,当我尝试从浏览器呼叫到Android应用程序时,无法在连接的线路上听到或讲话。创建peerConnectionsetRemoteDescriptionsetLocalDescription,创建Answer都(按理)按预期进行。

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

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

  1. 创建Answer后设置为LocalDescription的sdp是否需要IP地址和包含的ICE候选者?如果是,请问如何添加它们,因为我看不到ICE候选者,并且IP地址为0.0.0.0 IP4
  2. 除了使用标准的本机WebRTC库之外,我是否还需要做其他特定的事情来处理麦克风和扬声器。

解决方法

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

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

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