2012-12-19 30 views
3

我想使用VLCJ,並卡住了他們first tutorialjava VLCJ教程java.lang.UnsatisfiedLinkError

這裏是我的代碼:

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和VLC的32位版本。

任何想法?提前致謝!

+1

我使用代碼「{安裝路徑}/VideoLAN的/ VLC'(即' C:/ Program Files(x86)/ VideoLAN/VLC',但我也在該文件夾中尋找'libvlc.dll'和'libvlcore.dll',以確保 – MadProgrammer

+0

@MadProgrammer的工作!非常感謝:)如果你我想接受它,希望在回答中查看該評論。 – Felix

+0

創建答案;) – MadProgrammer

回答

3

嘗試使用{Install Path}/VideoLAN/VLC(即C:/Program Files (x86)/VideoLAN/VLC)來代替。

我找libvlc.dll和該文件夾內libvlcore.dll以確保庫安裝,但是這只是我;)

+1

只需將'C:/ Program Files(x86)/ VideoLAN/VLC/sdk/lib'更改爲'C:/ Program Files(x86)/ VideoLAN/VLC',它就起作用了:)再次感謝@MadProgrammer! – Felix

+0

是的,當我試圖讓它工作到時,它花費了一點頭到桌面互動:P – MadProgrammer

+0

Upvoting正確答案:-) –

2

嘗試在路徑中使用雙反斜槓:的

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

代替:

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

+0

給它一個去,但同樣的錯誤:) – Felix

+0

我有工作的vlcj應用程序在家工作。今晚我會挖掘消息來源,並會回來。 –