我想使用 vlcj 在 JPanel 中播放视频。此 JPanel 是 JFrame 中的六个 JPanel 之一。我使用下面的代码来显示视频,但未能成功。 JPanel 不显示视频。如果有人能给我一些建议,我将不胜感激。
JPanel中的代码如下:
public class VideoPanel extends JPanel {
private EmbeddedMediaPlayerComponent mymediaPlayer;
private String vlcPath = "d:/Program Files/VideoLAN/VLC";
private String mediaPath = "d:/testvideo/test2.mov";
private EmbeddedMediaPlayer mediaPlayer;
private Canvas canvas;
public VideoPanel() {
setLayout(new BorderLayout(0, 0));
Canvas canvas_1 = new Canvas();
add(canvas_1, BorderLayout.CENTER);
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), vlcPath);
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory();
CanvasVideoSurface videoSurface = mediaPlayerFactory.newVideoSurface(canvas_1);
mediaPlayer = mediaPlayerFactory.newEmbeddedMediaPlayer();
mediaPlayer.setVideoSurface(videoSurface);
mediaPlayer.playMedia(mediaPath);
this.setVisible(true);
}
}
最佳答案
问题已解决。这是因为我尝试在帧设置整个面板可见之前播放视频,并且视频文件的 URL 应该在 vlcj 2.1.0 中正确设置。
我将 URL 更改为正确的格式,并将 playMedia 移动到框架类,并在框架初始化后调用它。
我发现这两个讨论非常有帮助: 1.Trying to embed vlcj media player in a WindowsCanvas inside a JPanel
关于java - java中vlcj播放视频失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16023836/