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);
}

 

posted @ 2019-08-13 20:33  野猿新一  阅读(204)  评论(0编辑  收藏  举报