PubBub WebRTC Android Demo не подключается с Android на Android

Когда я попробовал демо-приложение https://kevingleason.me/AndroidRTC/, оно работало, как и ожидалось.

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

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

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

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

person solar    schedule 19.09.2016    source источник
comment
@CraigConover - Спасибо за ваше время. Не совсем я думаю. Я уже проверил эту ветку SO, которая отличается от моего случая. В моем случае, после того, как я получаю вызов на стороне получателя, и вызывающий, и получатель получают свой собственный поток фронтальной камеры, отображаемый на их собственном экране вместе с текстом «Подключение...» (не такой пустой экран, как в другом потоке SO) . Не могли бы вы мне помочь.   -  person solar    schedule 20.09.2016
comment
@CraigConover — эта проблема также упоминается в другой ветке (stackoverflow.com/questions/37835110/), но я не смог найти решение в этой теме.   -  person solar    schedule 20.09.2016
comment
Можете ли вы следить за сообщениями, отправляемыми через сигнализацию? Можно ли увидеть, передаются ли предложение и ответ? Кроме того, какие типы кандидатов (параметр typ в кандидате) отправляет устройство?   -  person LeeSylvester    schedule 21.09.2016
comment
@LeeSylvester - я думаю, эта проблема возникает почти у всех github.com/GleasonK/AndroidRTC/issues /3 кажется. Поскольку у меня мало времени на этот проект, я не хотел тратить на это больше. Сейчас ищу альтернативные/нестандартные сигнальные решения. Если я найду время позже, я опубликую свое наблюдение, которое вы просили. Спасибо хоть.   -  person solar    schedule 22.09.2016


Ответы (1)


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

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

person Novianto    schedule 04.02.2017