1

我想使用 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);
}
}
4

1 回答 1

1

问题已解决。这是因为我试图在框架设置整个面板可见之前播放视频,并且视频文件的 URL 应该在 vlcj 2.1.0 中正确设置。

我将 URL 更改为正确的格式并将 playMedia 移动到框架类并在框架初始化后调用它。

我发现这两个讨论非常有帮助: 1.尝试将 vlcj 媒体播放器嵌入到 JPanel 内的 WindowsCanvas 中

  1. https://github.com/caprica/vlcj/issues/29
于 2013-04-16T08:03:26.433 回答