Не могу сделать видеозвонок на Android 6 с QuickBlox

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

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

Но это не работает на Android 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.

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-06 14: 45: 31.904 15892-16591 / com.quickblox.sample.groupchatwebrtc D / WebRtcAudioRecord: EnableBuiltInAEC (true) 03-06 148 08: 15,90 -16574/com.quickblox.sample.groupchatwebrtc D/RTCClient.PeerFactoryManager: Фабрика одноранговых соединений, инициированная из thread1060 03-06 14:45:32.320 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBRTCSddNed для оппонента: onLoc 2436257 03-06 14:45:32.321 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBMediaStreamManager: Init local media stream 03-06 14:45:32.321 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBMediaStreamManager: Добавить видеопоток 03-06 14:45:32.323 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBRTCSession: onError in равноправный канал для оппонента 2436257, не найдено устройство для ввода видео 03-06 14:45:32.323 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: Request Looper execute. 03-06 14:45:32.323 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: POST.Run on thread:1056 для 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: Остановить DialingTimer 03-06 14:45:32.323 15892-16406/com.quickblox.sample.groupchatwebrtc D / RTCeerCeer 06 14:45:32.323 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBPeerChannel.PeerChannelLifeCycleTimers: Stop DisconnectTimer 03-06 14:45:32.323 15892-16406/com.quickblox.sbr.cample. LooperExecutor: Запрос выполнения Looper. 03-06 14:45:32.324 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: POST.Run on thread:1062 для 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 9FTP / 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 = аудио 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-16592 / 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 = видео 9 RTP/SAVPF 100 116 117 96 03-06 14:45:32.331 15892-16592/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBPeerChannel.PCObserver:: onIceConnection:: onIceConnectionCange ЗАКРЫТО 03-06 14: 45: 32.331 15892-16592 / com.quickblox.sample.groupchatwebrtc D / RTCClient.QBPeerChannel.PCObserver:: onIceGatheringChange завершить 03-06 14: 45: 32.331 15892-16592 / 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: onChannelConnection 4536.33 32.37Закрыт для соперника 15892-16578 / com.quickblox.sample.groupchatwebrtc D / RTCClient.LooperExecutor: Запрос выполнения Looper. 03-06 14:45:32.332 15892-16578/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: POST.Run on thread:1056 для 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: Поток лупера завершен. 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.sample.groupctwebr /ConversationFragment: идентификатор пользователя держателя getViewForOpponent: 2436257 03-06 14:45:32.333 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBRTCSession: проверка необходимости закрытия сессии 03-06 14:45:32.333 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBRTCSession: Session isNeedToClose true 03-06 14:45:32.333 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.QBRTCSession: закрыть 03-06: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.LooperExecutor: Лупер казни. 03-06 14:45:32.334 15892-16406/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: POST.Run on thread:1060 для 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: Уведомить обратные вызовы сеансов в количестве 14: 3-06: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 для 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 для 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.QBMediaStreamM isan null 03-06 14:45:32.335 15892-16574/com.quickblox.sample.groupchatwebrtc D/RTCClient.PeerFactoryManager: запустить утилиту Peer factory 03-06 14:45:32.336 15892-15892/com.quickblox.sample.groupchatwebrtc D/CallActivity: сеанс 31edba93-27cb-4e51-82a1-f8e0839e6aeb начать и завершить сеанс 03-06 14: 45: 32.336 15892-15892 / com.quickblox.sample.groupchatwebrtc D / CallActivity: остановить сеанс Ион 03-06 14:45:32.384 15892-15892/com.quickblox.sample.groupchatwebrtc D/OpponentsFragment: onCreate() из OpponentsFragment 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/OpenSLESPlayer: завершить @[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: завершить @[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: Закрыть @[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: завершить @[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=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/JVM: собственная регистрация::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/OpenSLESPlayer: dtor@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/OpenSLESPlayer: Завершить @ [tid = 16591] 03-06 14: 45: 32.693 15892-16591 / com.quickblox.sample.groupchatwebrtc D / OpenSLESPlayer: StopPlayout @ [StopPlayout @ [StopPlayout @ [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 15892-16591/com.quickblox.sample.groupchatwebrtc D/OpenSLESPlayer: DestroyEngine 03-06 14 14: 45: 32,693 -16591/com.quickblox.sample.groupchatwebrtc D/AudioManager: ~dtor@[tid=16591] 03-06 14:45:32.693 15892-16591/com.quickblox.sample.groupchatwebrtc D/AudioManager: Закрыть @[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: удалить фабрику Peer выполнено 03-06 14:45:32.699 15892-16574/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: Request Stop Looper stop. On PeerFactoryManager 03-06 14:45:32.699 15892-16574/com.quickblox.sample.groupchatwebrtc D/RTCClient.LooperExecutor: Поток лупера завершен.

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

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

1 ответ

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

Другие вопросы по тегам