android - 如何在 Android 对等连接客户端中重新启动 ICE?
问题描述
我使用 libjinge 库创建了一个 webrtc android 应用程序,我的问题是在网络故障后无法重新连接,在使用“icerestart”的浏览器中,如何在 Android peerconnection 客户端中重新启动 ICE?
解决方案
由于 android 对等连接对象没有任何icerestart()
方法,我们必须在我们的代码中做一个解决方法来重新建立连接。
步骤应该是:
- 加上额外的约束:
constraints.mandatory.add(new MediaConstraints.KeyValuePair("IceRestart","true"));
- 使用该约束再次创建报价:
peerConnection.createOffer(new YourSdpObserver(),constraints);
- 使用 setLocalDescription 将生成的 sdp 设置为 peerConnection。:
peerConnection.setLocalDescription(new YourSdpObserver(),sdp);
- 将其发送给远程对等方。
推荐阅读
- mysql - MYSQL 嵌套 JSON,INSERT_INTO 问题
- javascript - 在官方 mxGraph 示例中无法重新连接端口
- react-native - 如何通过 expo-av 在 react native expo 项目中播放背景声音?
- c - 程序花费的时间比预期的要长,它运行正常吗?
- c# - 如何在 Xamarin iOS 上执行简单的后台任务
- mono - Catalina MacOS 上的单声道运行时异常
- javascript - 应用程序运行时间少于 24 小时并且总是抛出错误
- asp.net - 如何让 Visual Studio Design 正确渲染 Bootstrap?
- java - 使用泛型和接口,返回类型是对象,而不是类型
- node.js - TypeError:无法读取未定义的属性“setVoiceChannel”| 尝试使用 discord.js 移动用户