Twilio 'twilio-video-app-android' github应用程序视频通话应用程序在加入房间时崩溃



我是twilio的新手,我正在开发一个用于视频通话的安卓应用程序,我已经从github开始使用twilio 'twilio-video-app-android'但应用程序崩溃时,我点击加入房间异常boolean com.twilio.video.LocalAudioTrack.isReleased()'对空对象引用';无法理解为什么它显示这个异常期待你的帮助,谢谢!

我在video-quickstart-android示例中看到了同样的致命异常。我注意到:

  • 如果我杀死应用程序,在IDE中重新运行,尝试加入一个房间,它会崩溃。
  • 但是如果我卸载,重新安装,然后运行,它不会崩溃。

这是崩溃的位置:

room = connect(this, accessToken, roomListener) {
roomName(roomName)
/*
* Add local audio track to connect options to share with participants.
*/
audioTracks(listOf(localAudioTrack))
/*
* Add local video track to connect options to share with participants.
*/
videoTracks(listOf(localVideoTrack))
...

但问题不在这里,问题在于轨道的初始化。这些只在成功授予权限后实例化,所以如果应用程序已经具有代码路径未到达的所需权限,则轨道未初始化,并且连接代码爆炸。在代码中添加单个代码语句,如下所示,为我在(较小的)快速入门应用程序中修复了它:

/*
* Check camera and microphone permissions. Also, request for bluetooth
* permissions for enablement of bluetooth audio routing.
*/
if (!checkPermissionForCameraAndMicrophone()) {
Timber.i("Requesting camera and mic permissions")
requestPermissionForCameraMicrophoneAndBluetooth()
} else {
createAudioAndVideoTracks() // <------ **** ADD THIS STATEMENT ****
audioSwitch.start { audioDevices, audioDevice -> updateAudioDeviceIcon(audioDevice) }
}

@philnash我希望快速入门样本将被更新,因为它非常需要它。它不使用AndroidX,依赖于已弃用的api(例如PreferenceManager),代码中充斥着lint警告,它的目标是2019年发布的Android等。当样本不保持最新时,集成Twilio Video会产生不必要的痛苦和成本。

相关内容