网络离线Android后重新与WebRtc通话

时间:2019-05-23 12:47:40

标签: android webrtc webrtc-android

网络离线后,我尝试重新连接。 如果接收方网络出现故障,我可以成功重新连接到呼叫。 但是,如果在呼叫方发生网络故障,我将无法成功执行此操作。

我尝试重新初始化Web WebRTC客户端,这是行不通的。 另外,尝试创建新报价,它也无效。

有人知道如何使用WebRTC处理android中的重新连接吗?

1 个答案:

答案 0 :(得分:0)

我的情况略有不同,因为我在尝试实现 WIFI > DATA 网络连接转换时遇到了这个问题,但我相信这也适用于您。

我的解决方案是重新创建要约并在 IceRestart 中添加新约束 MediaConstraints 并将其设置为 true

val mediaConstraint = MediaConstraints().apply {
    mandatory.add(MediaConstraints.KeyValuePair("IceRestart", "true"))
}

然后您只需在 createOffer() 中添加参数(您可能已经拥有),如下所示:

peerConnection.createOffer(object : SdpObserver() {
    override fun onCreateSuccess(p0: SessionDescription?) {
        // normal implementation
    }
},mediaConstraint)

希望有帮助:)