对于 Android 中的视频视图,我添加了一些媒体播放器侦听器,例如 onPreparedListener、onCompletionListener 等。但是当视频完成时,不会调用 onCompletionListener。我们还观察到某些 onCompletionListener 被调用,有时没有。
仅三星 Galaxy 平板电脑操作系统版本 4.1.2 会出现此问题。并且相同的代码在另一台三星设备上正常工作,如 S2、S3、S4 等。
有人有想法吗?
对于 Android 中的视频视图,我添加了一些媒体播放器侦听器,例如 onPreparedListener、onCompletionListener 等。但是当视频完成时,不会调用 onCompletionListener。我们还观察到某些 onCompletionListener 被调用,有时没有。
仅三星 Galaxy 平板电脑操作系统版本 4.1.2 会出现此问题。并且相同的代码在另一台三星设备上正常工作,如 S2、S3、S4 等。
有人有想法吗?
两条评论。
检查VideoView是否导致问题。因为OnCompletionListener
VideoView的接口只是对MediaPlayerOnCompletionListener
接口的一个封装,所以可以直接使用MediaPlayer来播放视频文件,每次都检查它的OnCompletionListener是否有效。
- 如果同样的事情发生,意味着 MediaPlayer 无法正确播放视频文件,也许你需要onError()
彻底检查回调。
检查视频文件或Uri是否指向损坏的视频文件,可以使用mp4dump等工具转储文件信息。
希望能帮助到你。
我不确定,但这只是一个可以解决您问题的技巧:找到视频的总长度并检查是否达到了当前位置。如果条件满足,请在此处复制 onCompletion 的代码。