我目前正在尝试使用我的覆盆子pi(OS是raspibian)在Java中编写一个小的webradio。我想使用VLC库,因为它能够自动解码几乎每个流。 但我甚至无法在我的Raspberry上加载库(Win 7没有问题)。我目前正在使用vlc 2.1.3(自己编译),因此我使用Lib4j 3.0.0和JNA 4.0.0并通过
将库的路径添加到searchppathNativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "/home/pi/vlc-2.1.3/lib/.libs/");
我也试过
System.setProperty("jna.library.path","/home/pi/vlc-2.1.3/lib/.libs/");
并通过
添加-Djna.library.path=/home/pi/vlc-2.1.3/lib/.libs/
执行jar时,但我总是收到错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'vlc': Native library (linux-arm/libvlc.so) not found in resource path ([file:/home/pi/JavaProjects/Radio/Radio-release.jar])
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:271)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398)
at com.sun.jna.Library$Handler.<init>(Library.java:147)
at com.sun.jna.Native.loadLibrary(Native.java:412)
at com.sun.jna.Native.loadLibrary(Native.java:391)
at main.Radio.<init>(Unknown Source)
at main.Main.main(Unknown Source)
我尝试了网上发现的所有内容,并在此之前多次问过这个问题,但似乎没有人知道这件事。
有没有人遇到类似的问题或者确实知道答案? (也许这很简单,至少我希望如此)。
先谢谢你的帮助,
TheElk
- 对不起我可能不好的英语,我不是母语:/
答案 0 :(得分:1)
你的问题是因为vlcj还不支持ARM。
您收到该错误是因为您尝试在ARM处理器中加载本机库(x86,x64)。
我遇到了类似的问题(尝试在覆盆子pi中加载vlcj),从我的搜索中,您应该等待vlc团队支持ARM或找到另一种替代方案。