android - 网络离线Android后使用WebRtc重新连接呼叫
问题描述
我尝试在网络离线后重新连接。如果接收方的网络出现故障,我会成功重新连接呼叫。但是如果网络在呼叫者端出现故障,我不会成功。
我尝试重新初始化 web WebRTC 客户端,它不起作用。也尝试创建新的报价,它也不起作用。
有谁知道如何使用 WebRTC 在 android 中重新连接?
解决方案
我的情况略有不同,因为我在尝试实现 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)
希望能帮助到你 :)
推荐阅读
- java - Spring Boot 集成测试。如何测试“删除”方法?
- apache-spark - 使用 PySpark 以不同方式处理每一行的空值
- css - 在具有背景图像的列中进行两列转换的最佳方法是什么?
- c++ - Boost::interprocess: scoped_lock 在崩溃后似乎无法获取
- r - R日期比较使用循环
- asp.net-core - 如何测试从代理获取数据的微服务
- php - CodeIgniter 4:“BadMethodCallException”试图插入或更新数据
- python - 连接 url + dtype:字符串
- python - 如何在列表之外的字典中合并键?
- java - 在 Docker 中运行的应用程序看不到该文件