Воспроизведение видео с массива плеера vlcj

Я пытаюсь воспроизвести видео из списков MRL, представленных в виде строки.

Проблема в том, что когда я пытаюсь запустить класс, список кнопок отображается с кнопкой, при этом работает только одна панель, но кнопка воспроизведения не работает и на других панелях.

Хотя я намеренно пропустил кнопку остановки, потому что я не добавил слушателей действия к ним.

Чего я хочу добиться, так это, когда я запускаю урок, воспроизводится одно видео, и когда я нажимаю кнопку воспроизведения другого видео, текущее видео останавливается и переходит к следующему видео.

Я не знаю, где я ошибся.

Вот мой код:

public class MediaPlayer extends JPanel {

    //Declares our media player component
    private EmbeddedMediaPlayerComponent[] mediaplayer;
    private String[] mediapath = {""};
    private final String vlcpath = "C:\\Program Files (x86)\\VideoLAN\\VLC";
    private JPanel video_pnl, control_pnl;
    private JButton[] play_btn, stop_btn;
    private int but = 0;

    public MediaPlayer(String mediapath[]) {
        this.mediapath = mediapath;

        play_btn = new JButton[1];
        stop_btn = new JButton[1];
        mediaplayer = new EmbeddedMediaPlayerComponent[1];
        int increment = 0;
        while (increment < mediapath.length) {
            video_pnl = new JPanel();
            video_pnl.setLayout(new BorderLayout());
            control_pnl = new JPanel();
            control_pnl.setLayout(new FlowLayout(FlowLayout.CENTER));
            for (int i = 0; i < 1; i++) {

                NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), vlcpath);
                mediaplayer[i] = new EmbeddedMediaPlayerComponent();
                play_btn[i] = new JButton("play");
                stop_btn[i] = new JButton("stop");


                video_pnl.add(mediaplayer[i], BorderLayout.CENTER);

                control_pnl.add(play_btn[i]);
                control_pnl.add(stop_btn[i]);
                video_pnl.add(control_pnl, BorderLayout.SOUTH);

                Handler handler = new Handler();
                play_btn[i].addActionListener(handler);
            }
            add(video_pnl);
            increment++;
        }
    }

    private class Handler implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent e) {
            if(e.getSource() == play_btn){
                play();
            }
        }
    }

    public void play() {
        for (int i = 0; i < mediapath.length; i++) {
            mediaplayer[i].getMediaPlayer().playMedia(mediapath[i]);
        }
    }

    public static void main(String[] args) {
        //Declare and initialize local variables
        String[] mediaPath =       {"C:\\\\Users\\\\goldAnthony\\\\Desktop\\\\Videos\\\\Whistle.mp4", "C:\\\\Users\\\\goldAnthony\\\\Desktop\\\\Videos\\\\Beyonce_Hello.mp4",
        "C:\\Users\\goldAnthony\\Desktop\\Videos\\HansRosling_2012S_480p.mp4","C:\\Users\\goldAnthony\\Desktop\\Videos\\oow2010_2.mp4",
        "C:\\Users\\goldAnthony\\Desktop\\Videos\\The_Economic_Environment.mp4"};

        //creates instances of the VlcPlayer object, pass the mediaPath and invokes the method "run"
        MediaPlayer mediaplayer = new MediaPlayer(mediaPath);
        JFrame ourframe = new JFrame();
        ourframe.setContentPane(mediaplayer);
        ourframe.setLayout(new GridLayout(5, 1));
        ourframe.setSize(300, 560);
        ourframe.setVisible(true);
        mediaplayer.play();
        ourframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
                control_pnl.add(play_btn[i]);
                control_pnl.add(stop_btn[i]);
                video_pnl.add(control_pnl, BorderLayout.SOUTH);

                Handler handler = new Handler();
                play_btn[i].addActionListener(handler);
            }
            add(video_pnl);
            increment++;
        }
    }

    private class Handler implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent e) {
            if(e.getSource() == play_btn){
                play();
            }
        }
    }

    public void play() {
        for (int i = 0; i < mediapath.length; i++) {
            mediaplayer[i].getMediaPlayer().playMedia(mediapath[i]);
        }
    }

    public static void main(String[] args) {
        //Declare and initialize local variables
        String[] mediaPath =       {"C:\\\\Users\\\\goldAnthony\\\\Desktop\\\\Videos\\\\Whistle.mp4", "C:\\\\Users\\\\goldAnthony\\\\Desktop\\\\Videos\\\\Beyonce_Hello.mp4",
        "C:\\Users\\goldAnthony\\Desktop\\Videos\\HansRosling_2012S_480p.mp4","C:\\Users\\goldAnthony\\Desktop\\Videos\\oow2010_2.mp4",
        "C:\\Users\\goldAnthony\\Desktop\\Videos\\The_Economic_Environment.mp4"};

        //creates instances of the VlcPlayer object, pass the mediaPath and invokes the method "run"
        MediaPlayer mediaplayer = new MediaPlayer(mediaPath);
        JFrame ourframe = new JFrame();
        ourframe.setContentPane(mediaplayer);
        ourframe.setLayout(new GridLayout(5, 1));
        ourframe.setSize(300, 560);
        ourframe.setVisible(true);
        mediaplayer.play();
        ourframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос