java - 使用 VLCJ 在 java 中将视频播放器添加到 JPanel

标签 java swing video vlcj

我目前有 2 件作品要合并。我有一个在 JFrame 中运行的简单媒体播放器和一个我想在 JPanel 上添加视频播放的 GUI。

创建视频播放器窗口的代码如下:

private final JFrame vidFrame;
private final EmbeddedMediaPlayerComponent vidComp;

//Creates JPanel for video player
public Video() {

    vidFrame = new JFrame("VLC video test");
    vidFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    vidFrame.setLocation(100, 100);
    vidFrame.setSize(800, 800);

    vidComp = new EmbeddedMediaPlayerComponent();

    //This is the point where I am trying to add the video player to the GUI
    MainWindow.vidPanel.add(vidComp);

    vidFrame.add(vidComp);
    vidFrame.setVisible(true);
}

这是我要将播放器添加到的面板:

    JPanel vidPanel = new JPanel();
    vidPanel.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null));
    vidPanel.setBounds(10, 11, 532, 400);
    contentPane.add(vidPanel);

我收到错误消息:“vidPanel 无法解析或不是字段”

有谁知道我该如何纠正这个问题?

最佳答案

我遇到了同样的问题,今天才解决。问题是您使用的是 JPanel,您永远无法在那里观看视频,您应该改用 Canvas。这对我有用:

    Canvas canvas = new Canvas();
    MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory();
    CanvasVideoSurface videoSurface = mediaPlayerFactory.newVideoSurface(canvas);
    EmbeddedMediaPlayer mediaPlayer = mediaPlayerFactory.newEmbeddedMediaPlayer();
    mediaPlayer.setVideoSurface(videoSurface);

    mediaPlayer.playMedia(String with the name of the file);

我正在使用 JDK 1.6 和 VLCJ 2.1

如果您使用的是 IDE,只需像放置 JPanel 一样放置 Canvas 并删除第一行。

祝你好运

关于java - 使用 VLCJ 在 java 中将视频播放器添加到 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10777279/

相关文章:

java - 将不同类型的可比较数量与零进行比较

xcode - XCode和Qt之间的犹豫

java - 如果用户在 Java 小程序中输入字母而不是数字,则显示警告

java - 使JOptionPane消息对话框渲染后消失

audio - FFMPEG - 合并 mp4 文件和音频文件

javascript - 视频Javascript、HTML5、效果

java - 捕获 "stack overflow"错误返回 "Null"

java.lang.NoSuchMethodError : org. slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;

java - Docx4j 如何解释 css

java - 基本 Java Swing,如何退出和处理您的应用程序/JFrame