VideoView
一、VideoView简介
在Android中,播放视频有2种方式,第一种方式是使用MediaPlayer结合SurfaceView来播放,通过MediaPlayer来控制视频的播放、暂停、进度等,而通过SurfaceView来显示视频内容;第二种方式是使用VideoView来播放,这个类其实也是**继承了SurfaceView类,并且实现了MediaController.MediaPlayerController这个用于控制媒体播放的接口,另外在VideoView上还有一个用于对媒体播放进行控制的面板,包括快进、快退、播放、暂停按钮以及一个进度条。使用VideoView播放视频的好处是简单因为它已经帮我们实现了SurfaceView以及控制方法,开发过程中只需直接拿来使用就可以了,但它的缺点是不够灵活**。而是用MediaPlayer结合SurfaceView来播放视频的话,好处是可以更灵活的对其进行自定义,缺点是难度较大。
二、VideoView常用方法
int getCurrentPosition():获取当前播放的位置。
int getDuration():获取当前播放视频的总长度。
boolean isPlaying():当前VideoView是否在播放视频。
boolean canPause(); //是否可以暂停
void pause():暂停void seekTo(int msec):从第几毫秒开始播放(使用seekTo时该视频需要在播放状态)。
void resume():重新播放。
void setVideoPath(String path):以文件路径的方式设置VideoView播放的视频源。
void setVideoURI(Uri uri):以Uri的方式设置VideoView播放的视频源,可以是网络Uri或本地Uri。
void start():开始播放。
mVideoView.stopPlayback();停止播放视频,并且释放
mVideoView.suspend();在任何状态下释放媒体播放器
mVideoView.canSeekForward();视频是否可以向前调整播放位置
mVideoView.canSeekBackward();视频是否可以向后调整播放位置
mVideoView.getBufferPercentage();获取视频缓冲百分比
mVideoView.resolveAdjustedSize();获取自动解析后VideoView的大小
mVideoView.onKeyDown();发送物理按键值
setMediaController(MediaController controller):设置MediaController控制器。
setOnCompletionListener(MediaPlayer.onCompletionListener l):监听播放完成的事件。
setOnErrorListener(MediaPlayer.OnErrorListener l):监听播放发生错误时候的事件。
如果方法处理了错误,则为返回true,不会弹出默认的错误信息;否则为false。返回false或根本没有OnErrorListener,将导致调用OnCompletionListener。
setOnPreparedListener(MediaPlayer.OnPreparedListener l)::监听视频装载完成的事件。
setOnTouchListener(View.OnTouchListener l) :监听videoview的点击事件
public class videoViewActivity extends