pili-engineering / PLDroidPlayer

PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。
https://developer.qiniu.com/pili/sdk/1210/the-android-client-sdk
4.54k stars 953 forks source link

关于观看直播闪退的问题 #841

Open weihuihuang opened 6 years ago

weihuihuang commented 6 years ago

直播突然断网了,我们观看端闪退了。不是必现的,这是log,找了蛮久的,是我们用法不对吗? java.lang.IllegalStateException: stop() called on uninitialized AudioTrack. android.media.AudioTrack.stop(AudioTrack.java:1762) com.qiniu.qplayer.mediaEngine.MediaPlayer$a.a(MediaPlayer.java:1391) com.qiniu.qplayer.mediaEngine.MediaPlayer$a.a(MediaPlayer.java:1357) com.qiniu.qplayer.mediaEngine.MediaPlayer.postEventFromNative(MediaPlayer.java:949) 我们用的小米5S,安卓7.0

weihuihuang commented 6 years ago

onError的时候mVideoView是否需要pause(),或者释放资源,是因为少了些重置状态的操作出现了问题吗。

zshbleaker commented 6 years ago

请问这个问题是在 2.0.6 上出现的吗?新版本应该已经修复了这个问题

在 2018年2月2日,10:24,韦辉煌 notifications@github.com 写道:

onError的时候mVideoView是否需要pause(),或者释放资源,是因为少了些重置状态的操作出现了问题吗。

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/pili-engineering/PLDroidPlayer/issues/841#issuecomment-362466298, or mute the thread https://github.com/notifications/unsubscribe-auth/AEEwlncSBAprdjnJBvMs8pkZjEccC1QVks5tQnH1gaJpZM4R1hgZ.

weihuihuang commented 6 years ago

我们用你们提供的2.1.0的。类似的还出现了这个,我猜原因都差不多,昨晚找了好久,没解决所以问下你们。 java.lang.IllegalStateException: Unable to retrieve AudioTrack pointer for stop() android.media.AudioTrack.native_stop(Native Method) android.media.AudioTrack.stop(AudioTrack.java:1179) com.qiniu.qplayer.mediaEngine.MediaPlayer$a.a(MediaPlayer.java:1391) com.qiniu.qplayer.mediaEngine.MediaPlayer$a.a(MediaPlayer.java:1357) com.qiniu.qplayer.mediaEngine.MediaPlayer.postEventFromNative

weihuihuang commented 6 years ago

既然你们发现这个问题了,可否告知下原因呢?

zshbleaker commented 6 years ago

是否有调用 stopPlayback?stopPlayback 会销毁 AudioTrack 实例,我们这边也加入了更多保护

weihuihuang commented 6 years ago

没有调用,我们这边在播放出错之后,会调用我们自己的接口检查直播端,如果是直播端推流的问题会定时检查下状态。基本使用和你们开发文档流程差不多,stopPlayback只有在退出直播间或者直播结束的时候会调用。

zshbleaker commented 6 years ago

检查一下 log,有没有 Open AudioTrack failed 的记录

在 2018年2月2日,14:55,韦辉煌 notifications@github.com 写道:

没有调用,我们这边在播放出错之后,会调用我们自己的接口检查直播端,如果是直播端推流的问题会定时检查下状态。基本使用和你们开发文档流程差不多,stopPlayback只有在退出直播间或者直播结束的时候会调用。

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/pili-engineering/PLDroidPlayer/issues/841#issuecomment-362502625, or mute the thread https://github.com/notifications/unsubscribe-auth/AEEwlkfbrezeR6hfqqM3DQaUlyYNC2Ncks5tQrFLgaJpZM4R1hgZ.

weihuihuang commented 6 years ago

偶现的,目前只抓到了这两个log,如果要防止crash有什么好的建议吗。因为并不知道你们这个的触发条件。起码能做出提示。对了,你们那个2.1.0的jar包大概是2月10号的时候你们提供的。

zshbleaker commented 6 years ago

大概定位到问题了,SDK 加入了更多的保护,感谢反馈

weihuihuang commented 6 years ago

行吧,期待你们下周的更新。谢谢解答。