Kelvin Ricafort
Kelvin Ricafort

Reputation: 51

multiple videos play one after the another

can anyone teach me how to make videos play one after the other

I need the full code

I have 4 videos

Video1, Video2, Video3, Video4

I want Video1 to play first then followed Video2, then followed by Video3, then followed by Video4

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

Upvotes: 1

Views: 2795

Answers (4)

Arjun Vyas
Arjun Vyas

Reputation: 27

Short & Simple

Let's say you have four videos in array list

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

Create one counter variable to manage current video playing.

int video_counter = 0;

Now following code make your work easy to play dynamic range of video to play in loop (like one after another).

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

Upvotes: 1

roghayeh hosseini
roghayeh hosseini

Reputation: 716

use exoPlayer for concatenate multi video

Upvotes: 0

I&#39;m SuperMan
I&#39;m SuperMan

Reputation: 743

Maybe you should create a new VideoView to play next video at OnCompletionListener, and remove the old VideoView ,add the new VideoView.

It works for me.

Upvotes: 0

bgse
bgse

Reputation: 8587

Assume you have a Videoview, you could for example put the paths to the videos into an array, and detect the end of playback like this:

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

Upvotes: 0

Related Questions