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

时间:2016-09-09 07:54:34

标签: java video vlcj

我在运行程序时正在使用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();



    }

1 个答案:

答案 0 :(得分:1)

MediaPlayerEventListener添加到媒体播放器。

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

这样的事情:

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

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

请注意,MediaPlayerEventAdapterMediaPlayerEventListener的空实现。