Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java VLCJ在正常安装中找不到插件_Java_Plugins_Vlcj - Fatal编程技术网

Java VLCJ在正常安装中找不到插件

Java VLCJ在正常安装中找不到插件,java,plugins,vlcj,Java,Plugins,Vlcj,我的VLC.exe工作正常,有点滞后。但我的简单VLCJ代码不起作用 import javax.swing.JPanel; import com.sun.jna.NativeLibrary; import javax.swing.JFrame; import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent; import uk.co.caprica.vlcj.runtime.RuntimeUtil; public class

我的VLC.exe工作正常,有点滞后。但我的简单VLCJ代码不起作用

import javax.swing.JPanel;
import com.sun.jna.NativeLibrary;
import javax.swing.JFrame;
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;

public class VideoPanel extends JPanel {

private static final String NATIVE_LIBRARY_SEARCH_PATH = "C:/Program Files/VideoLAN/VLC";

private EmbeddedMediaPlayerComponent mediaPlayerComponent;

public VideoPanel() {
    NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), NATIVE_LIBRARY_SEARCH_PATH);
    mediaPlayerComponent = new EmbeddedMediaPlayerComponent();
    this.add(mediaPlayerComponent);
}
public static void main(String args[]){
    JFrame frame = new JFrame();
    frame.add(new VideoPanel());
    frame.setBounds(100, 100, 800, 450);
    frame.setVisible(true);
}
}
我使用的是64位java 1.8.0_60。我在Windows 10 64位上使用vlc 2.2.4 64位

我的错误信息是这样的

[000000000 18BB0]核心libvlc错误:找不到插件!检查您的VLC安装。 线程“main”java.lang.RuntimeException中出现异常:初始化libvlc失败

这通常是由于创建MediaPlayerFactory时传递了无效的vlc选项,或者是由于libvlc无法找到所需的插件

如果libvlc无法找到所需的插件,以下说明可能会有所帮助:

在下面的文本中,表示包含“libvlc.dll”和“libvlccore.dll”的目录的名称,并表示包含vlc插件的目录的名称

要使libvlc正常工作,必须提供vlc插件,有许多不同的方法来实现这一点: 1.确保插件安装在“/plugins”目录中,这应该是正常vlc安装的情况。 2.将VLC_PLUGIN_PATH操作系统环境变量设置为指向“”

日志中可能有更多信息

在uk.co.caprica.vlcj.player.MediaPlayerFactory。(MediaPlayerFactory.java:300) 在uk.co.caprica.vlcj.player.MediaPlayerFactory。(MediaPlayerFactory.java:259) 位于uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent.onGetMediaPlayerFactory(EmbeddedMediaPlayerComponent.java:349) 位于uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent.(EmbeddedMediaPlayerComponent.java:217) 在VideoPanel。(VideoPanel.java:19) 位于VideoPanel.main(VideoPanel.java:31)


我该怎么办?

这是一个常见的问题,尤其是在Windows平台上

vlcj简介教程使用以下代码查找本机库及其插件:

package tutorial;

import uk.co.caprica.vlcj.binding.LibVlc;
import uk.co.caprica.vlcj.discovery.NativeDiscovery;

public class Tutorial {

    public static void main(String[] args) {
        boolean found = new NativeDiscovery().discover();
        System.out.println(found);
        System.out.println(LibVlc.INSTANCE.libvlc_get_version());
    }
}
这个
NativeDiscovery
类封装了最常见情况下所需的一切,包括设置VLC_PLUGIN_PATH环境变量


这是确保使用vlcj正确初始化LibVLC的推荐方法,因此请尝试使用它。

这是一个常见问题,尤其是在Windows平台上

vlcj简介教程使用以下代码查找本机库及其插件:

package tutorial;

import uk.co.caprica.vlcj.binding.LibVlc;
import uk.co.caprica.vlcj.discovery.NativeDiscovery;

public class Tutorial {

    public static void main(String[] args) {
        boolean found = new NativeDiscovery().discover();
        System.out.println(found);
        System.out.println(LibVlc.INSTANCE.libvlc_get_version());
    }
}
这个
NativeDiscovery
类封装了最常见情况下所需的一切,包括设置VLC_PLUGIN_PATH环境变量


这是确保使用vlcj正确初始化LibVLC的推荐方法,请尝试。

您是否尝试并遵循错误消息中的建议?是的,我尝试过。我检查了文件夹中是否存在“/plugins”目录,并设置了VLC_PLUGIN_PATH操作系统环境变量。那么,将VLC_PLUGIN_PATH设置为正确的目录应该是可行的。您是否尝试过并遵循错误消息中的建议?是的,我尝试过。我检查了文件夹是否存在“/plugins”目录,并设置了VLC_PLUGIN_PATH操作系统环境变量。那么,将VLC_PLUGIN_PATH设置为正确的目录应该是可行的。哇!有一个更简单的方法!非常感谢。它起作用了!哇!有一个更简单的方法!非常感谢。它起作用了!