首页 > 解决方案 > 如何在 Android 对等连接客户端中重新启动 ICE?

问题描述

我使用 libjinge 库创建了一个 webrtc android 应用程序,我的问题是在网络故障后无法重新连接,在使用“icerestart”的浏览器中,如何在 Android peerconnection 客户端中重新启动 ICE?

标签: androidwebrtclibjingleapprtc

解决方案


由于 android 对等连接对象没有任何icerestart()方法,我们必须在我们的代码中做一个解决方法来重新建立连接。

步骤应该是:

  1. 加上额外的约束:
constraints.mandatory.add(new MediaConstraints.KeyValuePair("IceRestart","true"));
  1. 使用该约束再次创建报价:
peerConnection.createOffer(new YourSdpObserver(),constraints);
  1. 使用 setLocalDescription 将生成的 sdp 设置为 peerConnection。:
peerConnection.setLocalDescription(new YourSdpObserver(),sdp);
  1. 将其发送给远程对等方。

推荐阅读