以 VLCJ 播放器结束时关闭视频?

Closing a video when it ends with VLCJ player?

我在 运行 我的程序中使用 VLCJ 播放视频。有没有办法在视频结束时自动关闭它?我不会是 Keylistener 来关闭视频

谢谢!

代码:

String file = "Estopa.mp4";

    public Test(){
        f.setLocation(100,100);
        f.setSize(alto,ancho);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);

        c.setBackground(Color.black);   
        p.setLayout(new BorderLayout());    
        p.add(c);
        f.add(p);

        // Read video file 
        // load native library
        NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(),"C:/Program Files/VideoLAN/VLC");
        Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
        // initialize the media player
        MediaPlayerFactory mpf = new MediaPlayerFactory();
        // control all the interactions with the user
        EmbeddedMediaPlayer emp = mpf.newEmbeddedMediaPlayer(new Win32FullScreenStrategy(f));
        emp.setVideoSurface(mpf.newVideoSurface(c));
        // full screen
        emp.toggleFullScreen();             
        //hide the cursor
        emp.setEnableMouseInputHandling(true);
        //able keyboard
        emp.setEnableKeyInputHandling(true);        
        //prepare file to read
        emp.prepareMedia(file);
        // read the file
        emp.play();



    }

添加 MediaPlayerEventListener 到媒体播放器。

在您的侦听器实现中,在 finished 方法中添加您想要的任何代码。

像这样:

emp.addMediaPlayerEventListener(new MediaPlayerEventAdapter() {
    @Override
    public void finished(MediaPlayer mediaPlayer) {
        System.exit(0);
    }
});

您可能还想为 error 回调添加一个实现,因为如果出现错误,您将不会收到 finished 事件。

请注意 MediaPlayerEventAdapterMediaPlayerEventListener 的空实现。