zoukankan      html  css  js  c++  java
  • 使用Vitamio打造自己的Android万能播放器(12)—— 播放网络视频缓冲处理


    前言

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

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

        博客园: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)

      单位是byte,默认大小是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! 

  • 相关阅读:
    SpringDataJpa
    #pragma pack(n)的使用
    jquery中的ajax方法参数
    rapidjson的使用
    Linux下Qt安装
    jsoncpp 0.5 ARM移植
    GoAhead2.5移植到ARM教程
    Qt 4.7.2移植到ARM教程
    虚函数与纯虚函数的区别
    海康、大华IpCamera RTSP地址和格式
  • 原文地址:https://www.cnblogs.com/over140/p/2955273.html
Copyright © 2011-2022 走看看