Демо-версия PubBub WebRTC Android не соединяется с Android на Android
Когда я попробовал демо-приложение https://kevingleason.me/AndroidRTC/, оно работало как положено.
Но когда я попробовал с двумя устройствами Android, я могу позвонить и принять вызов, но они не подключаются. На обоих устройствах собственный канал камеры отображается с текстом "Подключение...". Я попробовал и на моем домашнем Wi-Fi и на мобильных данных 3G. Там нет ошибки, что я могу найти в журнале.
Может ли кто-нибудь помочь мне решить проблему, пожалуйста. Что мне здесь не хватает?
Я использую последний код с https://github.com/GleasonK/AndroidRTC котором уже настроены серверы Xirsys ICE. Но я заметил, что серверы Xirsys ICE не добавляются в строке ниже из VideoChatActivity.java, поэтому я также попытался добавить эти серверы в конструктор PnSignalingParams, но все еще сталкиваюсь только с тем же сообщением Connecting.
List<PeerConnection.IceServer> servers = getXirSysIceServers();
if (!servers.isEmpty()) {
this.pnRTCClient.setSignalParams(new PnSignalingParams(servers));
}
1 ответ
Я исправил проблему. Это было немного сложно. Если вы видите журнал, он покажет вам, что приложение всегда выполняет метод createOffer. Таким образом, и клиент А, и клиент Б отправят предложение в одно и то же время. Вы можете решить эту проблему, задав какое-то условие, чтобы, если клиент А дал предложение, а клиент Б ответил, дав ответ.
Чтобы увидеть, если происходит какая-либо ошибка, вы можете использовать метод onCreateFailure(String s)
а также onSetFailure(String s)
в PnPeer.java. Надеюсь, это поможет.