使用Vitamio打造自己的Android万能播放器(12)—— 播放网络视频缓冲处理

来源:互联网 发布:淘宝上的上海大药房 编辑:程序博客网 时间:2024/05/02 00:17


前言

受限于网速等原因,播放网络视频时一般都会要加上缓冲处理,一般可以通过设置加大缓冲和显示正在缓冲的进度条来改善体验。

 

声明
欢迎转载,但请保留文章原始出处:)

博客园:http://www.cnblogs.com

Vitamio: http:// vitamio.org

农民伯伯: http://over140.cnblogs.com 

  

正文

一、 主要代码

 

     /**  是否需要自动恢复播放,用于自动暂停,恢复播放  */
     private  boolean needResume;

    @Override
     public  boolean onInfo(MediaPlayer arg0,  int arg1,  int arg2) {
         switch (arg1) {
         case MediaPlayer.MEDIA_INFO_BUFFERING_START:
             // 开始缓存,暂停播放
             if (isPlaying()) {
                stopPlayer();
                needResume =  true;
            }
            mLoadingView.setVisibility(View.VISIBLE);
             break;
         case MediaPlayer.MEDIA_INFO_BUFFERING_END:
             // 缓存完成,继续播放
             if (needResume)
                startPlayer();
            mLoadingView.setVisibility(View.GONE);
             break;
         case MediaPlayer.MEDIA_INFO_DOWNLOAD_RATE_CHANGED:
             // 显示 下载速度
            Logger.e("download rate:" + arg2);
             break;
        }
         return  true;
    }

 

 

设缓冲大小的代码:

 

mVideoView.setBufferSize(bufSize)

 

单位是KB,默认大小是1024KB(1M)。

 

  二、OPlayer

下载

请移步#Taocode(SVN):(没有账户的请注册一个即可)
项目地址: http://code.taobao.org/p/oplayer
SVN地址: http://code.taobao.org/svn/oplayer/ 

Google Play(2013-03-12上架)

https://play.google.com/store/apps/details?id=com.nmbb.oplayer 

有时间好好修正修正 :)

 

结束 

公司越重视,大家越重视,我也会越重视,写更多Vitamio相关的实用文章,感谢大家继续支持Vitamio! 


<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>