2016-09-19 8 views
0

Когда я попробовал демонстрационное приложение https://kevingleason.me/AndroidRTC/, он работал так, как ожидалось.PubBub WebRTC Android Demo не подключается с Android до Android

Но когда я попытался с двумя устройствами Android, я могу позвонить и получить звонок, но они не подключены. На обоих устройствах его собственный канал камеры отображается с текстом «Подключение ...». Я пробовал как на своем домашнем Wi-Fi, так и на мобильных 3G. В журнале нет ошибки, которую я могу найти.

Может ли кто-нибудь помочь мне решить проблему, пожалуйста. Что мне здесь не хватает?

Я использую последний код от https://github.com/GleasonK/AndroidRTC, который уже настроил серверы Xirsys ICE. Но я заметил, что серверы Xirsys ICE не добавлены в приведенной ниже строке из VideoChatActivity.java, поэтому я также попытался добавить, что серверов в конструктор PnSignalingParams, но все же сталкивается с тем же сообщением Connection.

List<PeerConnection.IceServer> servers = getXirSysIceServers();  
if (!servers.isEmpty()) {  
    this.pnRTCClient.setSignalParams(new PnSignalingParams(servers));  
}  
+0

@CraigConover - Спасибо за ваше время. Я точно не думаю. Я уже проверил этот поток SO, который отличается от моего случая. В моем случае, после того, как я получаю вызов на стороне приемника, как вызывающий, так и получатель получают свой собственный поток передней камеры, отображаются в их собственном экране вместе с текстом «Подключение ...». (не как пустой экран, как в другом потоке SO). Не могли бы вы мне помочь. – solar

+0

@CraigConover - эта проблема также указана в другом потоке (http://stackoverflow.com/questions/37835110/how-to-use-xirsys-hosting-in-pubnub-android-example), но я не мог найти решение в этой теме. – solar

+0

Вы можете следить за сообщениями, отправляемыми по сигналу? Вы видите, что ** предлагают ** и ** ответ ** передаются? Кроме того, какие типы кандидатов (** typ ** param в кандидате) - это отправка устройства? – LeeSylvester

ответ

0

У меня есть проблема. Это было немного сложно. Если вы увидите журнал, он покажет вам, что приложение всегда выполняет метод createOffer. Таким образом, оба клиента A и клиент B отправят предложение в одно и то же время. Вы можете исправить эту проблему, предоставив некоторое условие, чтобы клиент A дал предложение, и клиент B ответит, ответив.

Чтобы узнать, есть ли ошибки, вы можете использовать метод onCreateFailure(String s) и onSetFailure(String s) в PnPeer.java. Надеюсь, это поможет.