最近自己开发的应用需要个视频演示功能,就想到了用VideoView来播放百度云上存放的视频,但是Android提供的MediaController满足不了需求。所以就考虑自己写个视频控制器,看了下VideoView的API发现有getBufferPercentage()和getCurrentPosition ()来获取当前缓冲区的大小和当前播放位置,没发现有监听缓冲区的方法。只能自己写个定时器来监听了。
1 private Handler handler = newHandler();2 private Runnable run = newRunnable() {3 intbuffer, currentPosition, duration;4 public voidrun() {5 //获得当前播放时间和当前视频的长度
6 currentPosition =videoView.getCurrentPosition();7 duration =videoView.getDuration();8 int time = ((currentPosition * 100) /duration);9 //设置进度条的主要进度,表示当前的播放时间
10 seekBar.setProgress(time);11 //设置进度条的次要进度,表示视频的缓冲进度
12 buffer =videoView.getBufferPercentage();13 seekBar.setSecondaryProgress(percent);14
15 handler.postDelayed(run, 1000);16 }1