【问题标题】:java VLCJ tutorial java.lang.UnsatisfiedLinkErrorjava VLCJ教程 java.lang.UnsatisfiedLinkError
【发布时间】:2012-12-19 23:52:47
【问题描述】:

我正在尝试使用 VLCJ,但被他们的first tutorial 卡住了。

这是我的代码:

package vlcj.tutorial1;

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 Tutorial1A
{
    public static void main(String[] args)
    {
        // Ensure we're using the 32bit jdk.
        System.out.println("jdk version:  " + System.getProperty("sun.arch.data.model") + " bits.");

        NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "C:/Program Files (x86)/VideoLAN/VLC/sdk/lib");
        Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
    }
}

这是我得到的输出和异常:

jdk version:  32 bits.
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'libvlc': The specified module could not be found.

at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:169)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:242)
at com.sun.jna.Library$Handler.<init>(Library.java:140)
at com.sun.jna.Native.loadLibrary(Native.java:368)
at com.sun.jna.Native.loadLibrary(Native.java:353)
at vlcj.tutorial1.Tutorial1A.main(Tutorial1A.java:17)

我确定我使用的是 32 位 jdk 和 32 位版本的 VLC。

有什么想法吗?提前致谢!

【问题讨论】:

  • 我的代码使用'{Install Path}/VideoLAN/VLC`(即C:/Program Files (x86)/VideoLAN/VLC,但我也在该文件夹中寻找libvlc.dlllibvlcore.dll以确保跨度>
  • @MadProgrammer 成功了!非常感谢 :) 如果您想在答案中删除该评论,我会接受。

标签: java vlcj unsatisfiedlinkerror


【解决方案1】:

尝试改用{Install Path}/VideoLAN/VLC(即C:/Program Files (x86)/VideoLAN/VLC)。

我在该文件夹中查找 libvlc.dlllibvlcore.dll 以确保已安装这些库,但这只是我 ;)

【讨论】:

  • 刚刚将C:/Program Files (x86)/VideoLAN/VLC/sdk/lib 更改为C:/Program Files (x86)/VideoLAN/VLC 并且成功了:) 再次感谢@MadProgrammer!
  • 是的,当我试图让它工作时,它需要一些面对面的互动:P
  • @PetroSemeniuk 我很幸运手头有我的库代码;)
  • 不知何故说:%1 不是有效的 Win32 应用程序。" 什么是 VLC?
  • @gumuruh 很难说,我猜你的版本错误(x64 而不是 x32)
【解决方案2】:

尝试在路径中使用双反斜杠:

"C:\\Program Files (x86)\\VideoLAN\\VLC\\sdk\\lib"

代替:

"C:/Program Files (x86)/VideoLAN/VLC/sdk/lib"

【讨论】:

  • 我有在家工作的 vlcj 应用程序。今晚我会挖掘资源,然后会回来。
猜你喜欢
  • 1970-01-01
  • 2010-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多