最近在学习视频相关的知识,现在也是在按部就班的一步步的来,如果有同样需求的同学可以跟着大家一起促进学习。
上一节说到了可以使用系统播放器以及浏览器播放本地以及网络视频,但是这在很大程度上并不能满足我们的需求,幸好,android系统为我们提供了一个很方便的系统API——VideoView,来支持我们进行更加方便的操作。
VideoView提供了不错的API支持,提供了视频播放的基本方法,主要方法如下:
start():开始播放
pause():暂停播放
resume():恢复
getDuration():获取视频的长度
getCurrentPosition():获取当前播放的位置
seekTo(int msec):单位毫秒,跳转到对应位置
isPlaying():是否正在播放
setVideoURI(Uri uri):设置播放源
setVideoPath(String path):设置播放源
setOnPreparedListener(MediaPlayer.OnPreparedListener l):监听视频资源装载完成
setOnCompletionListener(OnCompletionListener l):监听视频播放完成
setOnErrorListener(OnErrorListener l):监听视频播放出错
当然,这些都是关于视频播放的基本操作,android系统还提供了相应的视频控制API——MediaControllder,将其与VideoView结合就可以对视频播放进行控制,调用
VideoView.setMediaController(MediaController controller)即可,这样可以控制视频播放、暂停、快进、快退、上一个、下一个以及拖动快进等等功能,关于MediaController有俩个方法比较重要:
isShowing():控制栏是否显示
setPrevNextListeners(View.OnClickListener next, View.OnClickListener prev):上一个下一个监听器
其中有一个细节是默认情况下上一个、下一个按钮是隐藏的,只有设置了上一个下一个监听器之后才显示,看源码可知:
必须设置了相应的监听器才会显示。
以下是VideoView使用的小案例:
借鉴:http://www.jianshu.com/p/98a10353494c