我使用netbeans来使用vlcj,我的jdk是jdk-7u45-windows-x64,我的vlc是64b,我安装了库,然后右键单击库文件,然后添加jar /文件夹,然后添加文件,从这里下载它,文件链接文件名vlcj-3.0.0- this,然后通过选择它们添加它,所有的测试代码都是这样的
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)发布于 2014-01-11 19:52:14
vlcj依赖于JNA。
因此,您需要将南国防军和JNA平台 jar文件添加到项目中。如何做到这一点取决于您自己的项目和您正在使用的IDE。最基本的方法是从链接[1]和[2]下载jar文件,并将它们复制到包含vlcj文件的同一个目录中。
在vlcj文件中声明的清单类路径引用了这些JNA jar --这意味着您只需要确保jar文件被复制到项目中的正确位置,就不必显式地将它们添加到项目类路径中。
我的观点是如果你使用Maven会更简单但是无论如何..。
正确安装库后,下一个问题是让JVM加载本机库。
由于多种原因,您可以获得一个UnsatisfiedLinkError,最常见的原因是:
当使用JNA加载本机库时,有许多方法可以设置搜索路径.
这一点在[3]中已经解释过,但是在这里总结一下,最简单的方法是向应用程序中添加如下代码:
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "the-directory");此语句告诉JNA在特定目录中查找LibVLC共享对象(Windows上的DLL)。
用包含libvlc.dll和libvlccore.dll文件的磁盘上目录的完整路径替换字面字符串“the -目录”(如果您在Linux上,则替换等效的.so文件)。
没有64位或32位版本的vlcj -它只是独立于平台的Java。
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
如果使用vlcj 3.0.0或更高版本,上述依赖项(以及指向伪制品的链接)是正确的。如果您使用的是较早版本的vlcj (如2.4.1 ),则需要使用JNA和JNA平台版本3.5.2,而不是4.0.0。
发布于 2014-01-11 22:16:19
对,但我的问题是jvm,我认为32b,所以我通过在这里下载它的形式来改变它,这个页面有32和64类型。
https://stackoverflow.com/questions/21066731
复制相似问题