Не могу сделать видеозвонок на Android 6 с помощью quickblox

Я пытаюсь создать приложение для видеочата с помощью quickblox v2.5.

Мое приложение для чата хорошо работает на iOS9.2 и Android 4+, 5+.

Но это не работает на андроиде 6. :(

Я использовал Nexus 5 и Samsung Galaxy S4, S5.

Когда я использую Nexus5 для теста, он хорошо работает между iOS и Android, Android-Android.

Но я не могу сделать видеозвонок между Android и iOS. (работает только аудиовызов).

Когда я использую Samsung galax, он работает не во всех случаях (ios-android, android-android, android-ios).

Несколько дней гугления и отладки я обнаружил, что эта проблема возникает при создании сеанса с противником.

QBRTCSession newSessionWithOpponents = rtcClient.createNewSessionWithOpponents(
                getOpponentsIds(opponents), qbConferenceType);

Ниже приведена часть logcat.

На этой строке приложение зависло. Таким образом, активность вызова не может быть запущена.

Кто-нибудь, пожалуйста, помогите мне.

Вы должны запрашивать разрешения во время выполнения.
Разрешение CAMERA в вашем случае. Подробнее читайте здесь.


person gstream79    schedule 07.03.2016    source источник


Ответы (1)


Привет Владимир Спасибо за быстрый ответ. Я запросил разрешение во время выполнения. Также я тестировал разрешение вручную. Но это не сработало. :(

person Volodymyr Kulyk    schedule 07.03.2016
comment
@YaborHabarov, вы также пытались спросить разрешения на хранение? И логов много, но что-то вроде журнала ошибок я не нашел, не могли бы вы выложить окончательный Журнал ошибок (crush log)? - person gstream79; 07.03.2016
comment
Владимир, еще раз спасибо за ответ. Я дал следующее разрешение моему приложению. Камера, MODIFY_AUDIO_SETTINGS, RECORD_AUDIO, INTERNET, WRITE_EXTERNAL_STORAGE, VIBRATE, READ_PHONE_STATE, ACCESS_WIFI_STATE. Вы можете найти полный файл logcat здесь. ссылка Надеюсь получить от вас весточку в ближайшее время. Спасибо - person Volodymyr Kulyk; 07.03.2016
comment
03-06 14:45:31.901 15892-16599/com.quickblox.sample.groupchatwebrtc D/VideoRendererGui: VideoRendererGui.onSurfaceChanged: 1056 x 1056
03-06 14:45:31.901 15892-16599/com.quickblox.sample .groupchatwebrtc D/VideoRendererGui: ID: 0. YuvImageRenderer.setScreenSize: 1056 x 1056 03-06 14:45:31.903 15892-16591/com.quickblox.sample.groupchatwebrtc D/AudioRecordJni: EnableBuiltInAEC@[tid=16591] 03-03 14:45:31.904 15892-16591/com.quickblox.sample.groupchatwebrtc D/WebRtcAudioRecord: EnableBuiltInAEC(true) 03-06 14:45:31.908 15892-16574/com.quickblox.sample.groupchatwebrtc D/RTCClient.PeerFactoryManager:PeerFactoryManager фабрика соединений инициирована из thread1060 03-06 14:45:32.320 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBRTCSession: onLocalStreamNeedAdd для оппонента 2436257 03-06 14:45:32.321 15892-16578/com.quickblox.com.quickblox.com.quickblox.com.quickblox.com.quickblox.com.quickblox.com. sample.groupchatwebrtc D/RTCClient.QBMediaStreamManager: Инициировать локальный медиапоток 03-06 14:45:32.321 15892-16578/com.quickblox.sample.g roupchatwebrtc D/RTCClient.QBMediaStreamManager: Добавить видеопоток 03-06 14:45:32.323 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBRTCSession: onError в одноранговом канале для оппонента 2436257, Устройство для ввода видео не найдено 03-06 14:45:32.323 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: цикл запроса выполняется. 03-06 14:45:32.323 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: POST.Run on thread:1056 for QBRTCClient 03-06 14:45:32.323 15892-16406/com.quickblox. sample.groupchatwebrtc D/RTCClient.QBPeerChannel: Вызов HangUp оппоненту 2436257 03-06 14:45:32.323 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBPeerChannel: закрыть 03-06 14:45:32.323 15892- 16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBPeerChannel.PeerChannelLifeCycleTimers: Stop DialingTimer 03-06 14:45:32.323 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBPeerclerTimerChannel3PeerChannelLife:WaitChannelLife 06 14:45:32.323 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBPeerChannel.PeerChannelLifeCycleTimers: Stop DisconnectTimer LooperExecutor: Запрос Looper на выполнение. 03-06 14:45:32.324 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: POST.Run on thread:1062 for QBPeerChannel 03-06 14:45:32.325 15892-16578/com.quickblox. sample.groupchatwebrtc D/RTCClient. QBPeerChannel: Закрытие однорангового соединения. 03-06 14:45:32.326 15892-16592/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBPeerChannel.SDPObserver:: SDP успешно создан 03-06 14:45:32.326 15892-16592/com.quickblox.sample.groupchatwebrtc D/RTCClient.RTCMediaUtils: generateLocalDescription: audioCodec=ISAC 03-06 14:45:32.328 15892-16592/com.quickblox.sample.groupchatwebrtc D/RTCClient.RTCMediaUtils: найден ISAC rtpmap 103, предпочтительно при m=audio 9 RTP/SAVPF 111 103 9 102 0 8 106 105 13 127 126 03-06 14:45:32.328 15892-16592/com.quickblox.sample.groupchatwebrtc D/RTCClient.RTCMediaUtils: Изменить описание мультимедиа: m=audio 9 RTP/SAVPF 103 111 9 102 0 8 106 105 13 127 126 03-06 14:45:32.328 15892-16592/com.quickblox.sample.groupchatwebrtc D/RTCClient.RTCMediaUtils: generateLocalDescription: videoCodec=VP8 03-06 14:45:32.330 15892/ com.quickblox.sample.groupchatwebrtc D/RTCClient.RTCMediaUtils: найдено VP8 rtpmap 100, предпочтительно на m=video 9 RTP/SAVPF 100 116 117 96 03-06 14:45:32.330 15892-16592/com .quickblox.sample.groupchatwebrtc D/RTCClient.RTCMediaUtils: Изменить описание мультимедиа: m=video 9 RTP/SAVPF 100 116 117 96 03-06 14:45:32.331 15892-16592/com.quickblox.sample.groupchatwebrtc D/RTCClient. QBPeerChannel.PCObserver:: onIceConnectionChange to CLOSED 03-06 14:45:32.331 15892-16592/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBPeerChannel.PCObserver:: onIceGatheringChange to COMPLETE 03-06 14:45:18.931 /com.quickblox.sample.groupchatwebrtc D/RTCClient.QBPeerChannel.PCObserver:: onSignalingChange to CLOSED 03-06 14:45:32.332 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBRTCSession: onChannelConnectionClosed для оппонента25 7436 -06 14:45:32.332 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: выполнение цикла запроса. 03-06 14:45:32.332 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: POST.Run on thread:1056 for QBRTCClient 03-06 14:45:32.332 15892-16578/com.quickblox. sample.groupchatwebrtc D/RTCClient.LooperExecutor: запрос на остановку Looper. На QBPeerChannel 03-06 14:45:32.332 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: поток Looper завершен. 03-06 14:45:32.332 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBPeerChannel: onExecutorStop.PeerChannel успешно остановлен 03-06 14:45:32.333 15892-16406/com.quickblox. /ConversationFragment: идентификатор пользователя-держателя getViewForOpponent: 2436257 03-06 14:45:32. 333 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBRTCSession: Проверка необходимости закрытия сеанса true 03-06 14:45:32.333 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBRTCSession: closeSession 03-06 14:45:32.333 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient. LooperExecutor: Запрос Looper на выполнение. 03-06 14:45:32.334 15892-16406/com.quickblox.sample.groupchatwebrtc D/SessionClosedListener: onSessionStartClose 03-06 14:45:32.334 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient: Request Лупер выполнить. 03-06 14:45:32.334 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: POST.Run on thread:1060 for PeerFactoryManager 03-06 14:45:32.334 15892-16406/com.quickblox. sample.groupchatwebrtc D/RTCClient.QBRTCSession.SessionWaitingTimers: Stop WaitTimer 03-06 14:45:32.334 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBRTCSession: Уведомление об обратных вызовах сеансов в количестве:2 03-06 14 :45:32.335 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: Запрос Looper на выполнение. 03-06 14:45:32.335 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: POST.Run on thread:1060 for PeerFactoryManager 03-06 14:45:32.335 15892-16406/com.quickblox. sample.groupchatwebrtc D/RTCClient.: onSessionClosed 03-06 14:45:32.335 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: EXECUTE.Run on thread:1056 for QBRTCClient 03-06 14:45: 32.335 15892-16574/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBMediaStreamManager: источник видео начал удалять 03-06 14:45:32.335 15892-16574/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBMediaStreamManager: источник видео null 03-06 14:45:32.335 15892-16574/com.quickblox.sample.groupchatwebrtc D/RTCClient.PeerFactoryManager: start dispose Peer factory 03-06 14:45:32.336 15892-15892/com.quickblox.sample.groupchatwebrtc D /CallActivity: Session 31edba93-27cb-4e51-82a1-f8e0839e6aeb start stop session 03-06 14:45:32.336 15892-15892/com.quickblox.sample.groupch atwebrtc D/CallActivity: Остановить сеанс 03-06 14:45:32.384 15892-15892/com.quickblox.sample.groupchatwebrtc D/OpponentsFragment: onCreate() from OpponentsFragment 03-06 14:45:32.693 15892-16591/com.quickblox .sample.groupchatwebrtc D/OpenSLESPlayer: Terminate@[tid=16591] 03-06 14:45:32. 693 15892-16591/com.quickblox.sample.groupchatwebrtc D/OpenSLESPlayer: StopPlayout@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/AudioRecordJni: Terminate@[tid =16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/AudioRecordJni: StopRecording@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample .groupchatwebrtc D/AudioManager: Close@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/WebRtcAudioManager: dispose@[name=Thread-1067, id=1067] 03 -06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/AudioRecordJni: ~dtor@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D /AudioRecordJni: Terminate@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/AudioRecordJni: StopRecording@[tid=16591] 03-06 14:45:32.693 15892- 16591/com.quickblox.sample.groupchatwebrtc D/JVM: GlobalRef::dtor@[tid=1 6591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/JVM: NativeRegistration::dtor@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox .sample.groupchatwebrtc D/JVM: JNIEnvironment::dtor@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/JVM: AttachCurrentThreadIfNeeded::dtor@[tid=16591 ]. D/OpenSLESPlayer: Terminate@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/OpenSLESPlayer: StopPlayout@[tid=16591] 03-06 14:45:32.693 15892 -16591/com.quickblox.sample.groupchatwebrtc D/OpenSLESPlayer: DestroyAudioPlayer 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/OpenSLESPlayer: DestroyMix 03-06 14:45:32.693 158912-1 /com.quickblox.sample.groupchatwebrtc D/OpenSLESPlayer: DestroyE ngine 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/AudioManager: ~dtor@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample. groupchatwebrtc D/AudioManager: Close@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/AudioManager: JavaAudioManager::dtor@[tid=16591] 03-06 14: 45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/JVM: GlobalRef::dtor@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/JVM : NativeRegistration::dtor@[tid=16591] 03-06 14:45:32. 693 15892-16591/com.quickblox.sample.groupchatwebrtc D/JVM: JNIEnvironment::dtor@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/JVM: AttachCurrentThreadIfNeeded ::dtor@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/JVM: отсоединение потока от JVM 03-06 14:45:32.696 15892-16592/com. quickblox.sample.groupchatwebrtc W/art: Собственный поток завершается без вызова DetachCurrentThread (возможно, он собирается использовать деструктор pthread_key_create?): Thread[42,tid=16592,Native,Thread*=0xaeb55500,peer=0x94f730a0,"signaling_threa - 16592"] 03-06 14:45:32.699 15892-16574/com.quickblox.sample.groupchatwebrtc D/RTCClient.PeerFactoryManager: dispose Peer factory готово 03-06 14:45:32.699 15892-16574/com.quickblox.sample. groupchatwebrtc D/RTCClient.LooperExecutor: запрос на остановку Looper. On PeerFactoryManager 03-06 14:45:32.699 15892-16574/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: поток Looper завершен. - person gstream79; 07.03.2016