使用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;
}
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>
- 使用Vitamio打造自己的Android万能播放器(12)—— 播放网络视频缓冲处理
- 使用Vitamio打造自己的Android万能播放器(12)—— 播放网络视频缓冲处理
- 使用Vitamio打造自己的Android万能播放器(12)—— 播放网络视频缓冲处理
- 使用Vitamio打造自己的Android万能播放器(12)—— 播放网络视频缓冲处理
- 使用Vitamio打造自己的Android万能播放器(12)—— 播放网络视频缓冲处理
- 使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)
- 使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)
- 使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)
- 使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)
- 使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)
- 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)
- 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)
- 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)
- 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)
- 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)
- Android视频框架 Vitamio 打造自己的万能播放器
- Android视频框架 Vitamio 打造自己的万能播放器
- Android视频框架 Vitamio 打造自己的万能播放器
- tomcat7与tomcat6引入标签taglib的区别:taglib definition not consistent with specification version
- javax.crypto.IllegalBlockSizeException: last block incomplete in decryption
- zk event thread model
- linux find命令详解
- Android
- 使用Vitamio打造自己的Android万能播放器(12)—— 播放网络视频缓冲处理
- soj4236 && soj2750
- 黑马程序员--面向对象(一)
- Linux切换键命令及常用指令
- Android设备的识别
- android SDK 安装目录结构详解及各工具
- 关于二叉查找树的一些题目
- ffmpeg 应用(1)
- 64位ubuntu下android开发环境的配置