当前位置: 首页 > 知识库问答 >
问题:

无法修复vlcj加载库“libvlc”

经和洽
2023-03-14
    package translater;
import uk.co.caprica.vlcj.binding.LibVlc;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;
import com.sun.jna.Native;


/**
 *
 * @author isslam
 */
public class Translater {


    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        GuiClass is = new GuiClass("AnimeFactor");
        is.setVisible(true);

        Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);


    }

}
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'libvlc': JNA native support (win32-amd64/libvlc.dll) not found in resource path (C:\Users\isslam\Desktop\vlcj-2.4.1-dist\vlcj-2.4.1\jna-3.5.2.jar;C:\Users\isslam\Desktop\vlcj-2.4.1-dist\vlcj-2.4.1\platform-3.5.2.jar;C:\Users\isslam\Desktop\vlcj-2.4.1-dist\vlcj-2.4.1\vlcj-2.4.1.jar;C:\Users\isslam\Documents\NetBeansProjects\translater\build\classes)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:220)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:322)
at com.sun.jna.Library$Handler.<init>(Library.java:142)
at com.sun.jna.Native.loadLibrary(Native.java:387)
at com.sun.jna.Native.loadLibrary(Native.java:366)
at translater.Translater.main(Translater.java:27)

共有1个答案

锺离霖
2023-03-14

vlcj依赖于JNA。

因此,您需要将JNA和JNA平台jar文件添加到项目中。如何做到这一点取决于您自己的项目和使用的IDE。最基本的方法是从链接[1]和[2]下载jar文件,并将它们复制到包含vlcj jar文件的同一个目录中。

在vlcj jar文件中声明的manifest类路径引用这些JNA JAR-这意味着您只需确保jar文件被复制到项目中的正确位置,而不必显式地将它们添加到项目类路径中。

    null
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "the-directory");

[1]:http://search.maven.org/#ArtifactDetails%7cnet.java.dev.jna%7cjna%7c4.0.0%7cjar

[2]:http://search.maven.org/#ArtifactDetails%7cnet.java.dev.jna%7CJNA-Platform%7C4.0.0%7CJAR

[3]:http://www.capricasoftware.co.uk/projects/vlcj/tutorial1.html

 类似资料:
  • 我正在运行RSTudio版本1.1.442和r3.5。当我尝试加载rJava时,我得到以下错误; 库(rJava)错误:“r Java”的包或命名空间加载失败:“r Java”的.OnLoad在loadNamespace()中失败,详细信息:调用:dyn.load(文件,DLLpath=DLLpath,...)错误:无法加载共享对象“/library/framework/r.framework/v

  • 应用程序正在启动。获取数据。请稍候...线程“main”java.lang.UnsatisfiedLinkError中出现(约10s)异常:无法加载SWT库。原因:java.library.path中没有swt-cocoa-4236。path中没有swt-cocoa不能加载库:C:\users\andrew.swt\lib\win32\x86_64\swt-cocoa.dll不能加载库:C:\us

  • 我将dll路径存储在设置文件中。当我输出 如果我在project中添加(dll)作为外部类文件夹,并编写:,它可以在这台机器中工作,但是当我使用可运行的jar时,它找不到,所以我想给出dll的绝对路径。但对我没用。 我也试过: C:\users\argenit\desktop\aaa\dll\ergopointer_64_bit dll\ergopointer_64_bit.dll ergopoi

  • 在Eclipse中运行应用程序时,出现以下异常: java.lang.无法加载库'kernel32':本地库(linux-x86-64/libkernel32.so)在资源路径中找不到(/opt/eclipse/plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar) 我该如何解决这个问题?

  • 我创建了一个使用jar文件女巫.dll库。Jar在我的主PC和笔记本电脑上运行平稳,但现在我正试图在新安装Windows 10的PC上使用它,我收到此错误: 线程“main”java.lang.UnsatisfiedLinkError:无法加载库“AutoHotkey”:无法获取win32-x86-64/AutoHotkey的InputStream。位于com.sun.jna.Library$Ha

  • 我使用JVM32bit、JNA3.5.2和VLCJ3.0.1。 从我所看到的是加载32bit库,但我的操作系统是64bit。这就是问题所在吗?