Search code examples
media-playerjavafx-2

Play consecutive videos in JavaFX


I want to play tow (or more) videos that exists in my hard disk, how can I update the Media object so that the MediaPlayer go to next video automaticlly.


Solution

  • Now i can't test it, but i think it should work:

    public MediaView createMediaView(Collection<String> urls){
        MediaView mediaView = new MediaView();
        initMediaPlayer(mediaView, urls.iterator());
        return mediaView;
    }
    
    private void initMediaPlayer(
              final MediaView mediaView, 
              final Iterator<String> urls
    ){
        if (urls.hasNext()){
            MediaPlayer mediaPlayer = new MediaPlayer(new Media(urls.next()));
            mediaPlayer.setAutoPlay(true);
            mediaPlayer.setOnEndOfMedia(new Runnable() {
                @Override public void run() {
                    initMediaPlayer(mediaView, urls);
                }
            });
            mediaView.setMediaPlayer(mediaPlayer);
        } 
    }