我使用vlc媒体播放器的vlcj库完成了一个视频播放器。 当我运行代码时,框架打开正常,但视频不能播放。
这是我的代码..
public class Test {
public static void main (String[] args) {
JFrame f = new JFrame();
f.setLocation(100,100);
f.setSize(1000,600);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
Canvas c = new Canvas();
c.setBackground(Color.black);
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
p.add(c);
f.add(p);
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "C:\\Program Files\\VideoLAN\\VLC");
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
MediaPlayerFactory mpf = new MediaPlayerFactory();
EmbeddedMediaPlayer emp = mpf.newEmbeddedMediaPlayer(new DefaultFullScreenStrategy(f));
emp.setVideoSurface(mpf.newVideoSurface(c));
//emp.toggleFullScreen();
emp.setEnableMouseInputHandling(false);
emp.setEnableKeyInputHandling(false);
String file= "C:\\!temp\\v.mp4";
emp.prepareMedia(file);
}
}
这是在我的控制台上:
nov. 03, 2015 12:04:40 DU uk.co.caprica.vlcj.Info <init>
INFO: vlcj: 3.8.0
nov. 03, 2015 12:04:40 DU uk.co.caprica.vlcj.Info <init>
INFO: java: 1.8.0_65 Oracle Corporation
nov. 03, 2015 12:04:40 DU uk.co.caprica.vlcj.Info <init>
INFO: java home: C:\Program Files\Java\jre1.8.0_65
nov. 03, 2015 12:04:40 DU uk.co.caprica.vlcj.Info <init>
INFO: os: Windows 8.1 6.3 amd64
nov. 03, 2015 12:04:40 DU uk.co.caprica.vlcj.binding.LibVlcFactory create
INFO: vlc: 2.2.1 Terry Pratchett (Weatherwax), changeset 2.2.1-0-ga425c42
nov. 03, 2015 12:04:40 DU uk.co.caprica.vlcj.binding.LibVlcFactory create
INFO: libvlc: C:\Program Files\VideoLAN\VLC\libvlc.dll
答案 0 :(得分:1)
prepareMedia()
方法只是让媒体准备就绪,它实际上并没有播放它。
因此,在准备之后使用play()
,或者错过准备并改为使用playMedia(...)
。
根据其他评论,你确定&#34;!temp&#34;是对的吗?