gpt4 book ai didi

java - VLCJ NullPointer(我只想一个简单的跨平台java视频播放器)

转载 作者:行者123 更新时间:2023-12-02 07:38:34 24 4
gpt4 key购买 nike

我想做一个简单的java应用程序来播放视频。我特别希望它能够播放 mpeg4 和 mov 格式。 JMF 是我开始的地方,我有一个很好的工作示例。但是,不支持 mov 或 mpeg4 格式。我看过 Xuggler 但看不到让它工作的简单方法。 VLCJ 看起来很简单 - 我下载了 jar 文件并将它们附加到我的项目中(vlcj-2.1.0.jar、jna-3.4.0.jar、platform-3.4.0.jar、vlcj-2.1.0.jar))。我得到了示例代码并对其进行了修改(如下)。但是当我运行代码时,我收到 java.lang.NullPointerException 异常。我尝试调整文件名中斜杠的数量和方向(向前和向后)。似乎什么都不起作用。请问你能帮忙吗???

import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.JFileChooser;

import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import java.lang.Object;
import uk.co.caprica.vlcj.mrl.FileMrl;

import uk.co.caprica.vlcj.binding.LibVlc;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;

import com.sun.jna.Native;
import com.sun.jna.NativeLibrary;


public class TestPlayer {

private final JFrame frame;
private EmbeddedMediaPlayerComponent mediaPlayer;

public static void loadLibs(){
NativeLibrary.addSearchPath(
RuntimeUtil.getLibVlcLibraryName(), "C:/Program Files/VideoLAN/VLC/"
);
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
}

public static void main(final String[] args){
loadLibs();
final String mrl = "file://C:/Test.mov";
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new TestPlayer().run(mrl);
}
});
}
public TestPlayer(){
frame = new JFrame("test VLCJ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(100,100);
frame.setSize(600,400);
frame.setVisible(true);
}
private void run(String mrl){
System.out.println(mrl);
try{
mediaPlayer.getMediaPlayer().playMedia(mrl);
}catch(Exception e){
System.err.println(e.toString());
}

}
}

我在 Windows 32 位上使用 VLC 版本 2.0.2 和 VLCJ 2.1.0 源以及 JDK 1.7。我希望这很简单......

最佳答案

看起来您正在使用 mediaPlayer 而没有初始化它,因此在 run() 中导致 NullPointerException。

尝试在构造函数中初始化它。

关于java - VLCJ NullPointer(我只想一个简单的跨平台java视频播放器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11875136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com