我已经实现了WebRTC,用于通过浏览器进行视音频通话。我正在使用最新的<body ng-app="">
。我也为本地android应用程序实现了WebRTC。我的信令服务器基于php WebSocket(Ratchet websocket)。当我在两种浏览器(chrome-chrome或chrome-firefox组合)中测试实现时,我发现该协议运行良好。我的意思是视音频通话正常。当我测试我的android应用程序时,我可以看到它也适用于应用程序与应用程序之间的通信。
但是问题是当我尝试从我的android应用程序向网络应用程序发出呼叫时,我看到setRemoteDescription无法正常工作,而是生成了以下错误:
adapter.js
在gradle(app)脚本中,我实现了WebRTC库,如下所示:
Failed to execute 'setRemoteDescription' on 'RTCPeerConnection': Failed to set remote answer sdp: Media section has more than one track specified with a=ssrc lines which is not supported with Unified Plan.
这就是为什么我认为最新的implementation 'org.webrtc:google-webrtc:1.0.+'
(用于Web部件)和android库应该兼容,并且与Web实现和android实现之间的版本不兼容没有问题。
为了更好地理解,我在此共享在生成要约时发现的SDP消息。
adapter.js
答案 0 :(得分:0)
您可以尝试:
rtcConfiguration.sdpSemantics = PeerConnection.SdpSemantics.PLAN_B;
出现错误:“媒体部分中有多个轨道用a = ssrc行指定, Unified Plan不支持。”
Fwiw Unified计划是默认的(我认为),并且设置为
rtcConfiguration.sdpSemantics = PeerConnection.SdpSemantics.UNIFIED_PLAN;
答案 1 :(得分:0)
谢谢。它有效
if(getChromeVersion()>=72){ configuration.sdpSemantics = "unified-plan";} else { configuration.sdpSemantics = "plan-b";}