我在运行程序时正在使用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();
}
答案 0 :(得分:1)
将MediaPlayerEventListener
添加到媒体播放器。
在您的侦听器实现中,在finished
方法中添加您想要的任何代码。
这样的事情:
emp.addMediaPlayerEventListener(new MediaPlayerEventAdapter() {
@Override
public void finished(MediaPlayer mediaPlayer) {
System.exit(0);
}
});
您可能还想为error
回调添加一个实现,因为如果出现错误,您将不会收到finished
事件。
请注意,MediaPlayerEventAdapter
是MediaPlayerEventListener
的空实现。