我使用WebRTC为视频会议开发了一款Android应用。我使用了可用的Java库。
我可以成功拨打P2P电话。但是,当我一个接一个地再次进行相同的P2P调用时,我收到以下错误:
SetRemoteDescription failed: Called with type in wrong state, type: answer state:
STATE_INPROGRESS
然而,当我重新启动应用程序时,我可以再次拨打电话,它可以完美运行。
摘要:为了进行第二次调用,我必须重新启动应用程序。这可能是因为某些对象的某些可能的缓存,如PC,SDPObserver或PCObserver。我将所有这些都设为null并在第一次调用后终止活动。即使这样,第二次通话也不起作用,除非我重启我的应用程序。
可能的原因是什么?
答案 0 :(得分:0)
听起来好像当地资源没有妥善处理,即使你正在杀死活动。
确保在视频通话结束时拨打电话:
peerConnection.dispose();
videoSource.dispose();
peerConnectionFactory.dispose();
您可以测试这适用于AppRTCDemo参考应用。这是参考code。