一、 主要代码
/**
是否需要自动恢复播放,用于自动暂停,恢复播放
*/
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)
单位是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打造自己的Android万能播放器(12)—— 播放网络视频缓冲处理,如需转载请自行联系原博主。