MediaPlayer loading 问题解决

Posted 忙里偷闲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MediaPlayer loading 问题解决相关的知识,希望对你有一定的参考价值。

     最近App需要集成视频播放功能,就这过程中遇到的问题,记录一下,给遇到相同问题同行提供参考。

1、增加loading

    开始以为是在OnBufferingUpdateListener 回调判断,最终不行。发现MediaPlayer有一个setOnInfoListener 在视频卡主缓冲

恢复的情况下,都有事件抛出,看了一下描述。明白可以使用onInfo(MediaPlayer mp, int what, int extra)里面的what来判断。

MEDIA_INFO_VIDEO_RENDERING_START 出loading ,MEDIA_INFO_BUFFERING_END 消失loading 。

2、第一帧缓冲不出loading

    按照上一步,增加了loading。发现在播放过程中,出现缓冲卡主是正常可以显示loading,以及缓冲好,消失loading。

但是如果是卡在前面的第一帧画面,不能正常出现loading画面。查看是没有MEDIA_INFO_VIDEO_RENDERING_START事件抛出。

查看onInfo,还有一个MEDIA_INFO_BUFFERING_START定义,加了一个MEDIA_INFO_BUFFERING_START,也显示loading,

消失还是等到MEDIA_INFO_BUFFERING_END。

3、初始化过程不出loading

    发现在初始化过程中,等待十几秒,卡在MediaPlayer 的prepare过程,更疑惑的是,这个时候,loading也不显示。

分析发现还有prepareAsync()方法,一个是同步一个异步,改成异步,在回调的过程里面mMediaPlayer.start()。这样发现loading也可以正常显示了。

 

以上是关于MediaPlayer loading 问题解决的主要内容,如果未能解决你的问题,请参考以下文章

QML MediaPlayer ServiceMissing异常解决办法

AudioTrack、SoundPool 或 MediaPlayer 我应该使用哪个?

Android MediaPlayer 需要很长时间来准备和缓冲

android mediaplayer VideoPlayerManager 加载视频闪屏问题排查解决

android播放器:mediaplayer

如何使用静态构建的 Qt 解决这个“找不到服务 - “org.qt-project.qt.mediaplayer”的错误?