Android VideoView 循环播放视频
在Android VideoView 视频播放这篇文章中我们介绍了如何通过VideoView进行简单的视频播放
现在有个需求,视频播放完成后需从头开始播放,无限循环
但是发现VideoView控件并未提供loop等类似的设置循环播放的方法
VideoView是MediaPlayer,在VideoView中持有一个MediaPlayer成员变量,可以通过该MediaPlayer设置循环播放
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
// 通过MediaPlayer设置循环播放
mp.setLooping(true);
// OnPreparedListener中的onPrepared方法是在播放源准备完成后回调的,所以可以在这里开启播放
mp.start();
}
});
我们再具体看下OnPreparedListener接口的定义,这是一个回调接口,当播放源加载完毕准备好后,会回调onPrepared(MediaPlayer mp)方法,在该方法中会传入VideoView所封装的MediaPlayer对象,可以通过该对象做一些设置
/**
* Interface definition for a callback to be invoked when the media
* source is ready for playback.
*/
public interface OnPreparedListener {
/**
* Called when the media file is ready for playback.
*
* @param mp the MediaPlayer that is ready for playback
*/
void onPrepared(MediaPlayer mp);
}