多个视频一个接一个播放

时间:2013-08-07 02:59:37

标签: android video

任何人都可以教我如何让视频一个接一个地播放

我需要完整的代码

我有4个视频

Video1,Video2,Video3,Video4

我想首先播放Video1然后播放Video2,然后播放Video3,然后播放Video4

String path="android.resource://" + getPackageName() +"/" + R.raw.Video1;
videoView1.setVideoURI(Uri.parse(path));
videoView1.start();

4 个答案:

答案 0 :(得分:0)

假设你有一个Videoview,你可以把视频的路径放到一个数组中,然后像这样检测播放的结束:

videoView.setOnCompletionListener(new OnCompletionListener() {
    @Override
    public void onCompletion(MediaPlayer mp) {
        //start next video here
        //for example, set video path to next array item            
    }       
});

答案 1 :(得分:0)

也许你应该创建一个新的VideoView来播放OnCompletionListener的下一个视频,并删除旧的VideoView,添加新的VideoView。

它对我有用。

答案 2 :(得分:0)

使用exoPlayer连接多视频

答案 3 :(得分:0)

简短&简单

假设您在阵列列表中有四个视频

ArrayList<String> urlList = new ArrayList<>();

创建一个计数器变量来管理当前的视频播放。

int video_counter = 0;

现在,以下代码使您的工作轻松播放动态范围的视频以循环播放(就像一个接一个)。

VideoView vv_video = findViewById(R.id.vv_video);

vv_video.setVideoURI(Uri.parse(urlList.get(counter_video_loop)));

vv_video.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

                    @Override
                    public void onPrepared(MediaPlayer mp) {
                        vv_video.start();
                    }
                });

vv_video.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                    @Override
                    public void onCompletion(MediaPlayer mp) {
                        if ((video_counter + 1) <= urlList.size()) {
                            video_counter++;
                            vv_video.setVideoURI(Uri.parse(urlList.get(video_counter + 1)));
                            vv_video.start();
                        } 
                    }
                });