码迷,mamicode.com
首页 > 其他好文 > 详细

MediaPlayer loading 问题解决

时间:2018-01-24 12:42:37      阅读:1627      评论:0      收藏:0      [点我收藏+]

标签:listen   post   记录   恢复   syn   line   end   inf   遇到的问题   

     最近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 问题解决

标签:listen   post   记录   恢复   syn   line   end   inf   遇到的问题   

原文地址:https://www.cnblogs.com/mltx/p/8340693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!