我正在使用mediainfo庫的java項目。 在窗戶midiainfo.dll我JNA代碼工作正常,但是當我在Linux它不工作我的代碼運行,並給予下列異常 -無法在linux中加載庫MediaInfo
java.lang.UnsatisfiedLinkError: Unable to load library 'MediaInfo': libMediaInfo.so: cannot open shared object file: No such file or directory
我寫這樣我的java的代碼 -
interface MediaInfoDLL_Internal extends Library
{
MediaInfoDLL_Internal INSTANCE = (MediaInfoDLL_Internal) Native.loadLibrary("MediaInfo", MediaInfoDLL_Internal.class, singletonMap(OPTION_FUNCTION_MAPPER, new FunctionMapper()
{
public String getFunctionName(NativeLibrary lib, Method method)
{
// MediaInfo_New(), MediaInfo_Open() ...
return "MediaInfo_" + method.getName();
}
}
));
//Constructor/Destructor
Pointer New();
void Delete(Pointer Handle);
//File
int Open(Pointer Handle, WString file);
void Close(Pointer Handle);
//Infos
WString Inform(Pointer Handle);
WString Get(Pointer Handle, int StreamKind, int StreamNumber, WString parameter, int infoKind, int searchKind);
WString GetI(Pointer Handle, int StreamKind, int StreamNumber, int parameterIndex, int infoKind);
int Count_Get(Pointer Handle, int StreamKind, int StreamNumber);
//Options
WString Option(Pointer Handle, WString option, WString value);
}
只是在類路徑中添加mediainfo.dll,這工作就像魔術一樣,但在linux中我試圖添加libmediainfo.so.0,libmediainfo.so.0.0.0,libzen.so.0和libzen.so。 0.0.0但沒有運氣...
有沒有人知道如何運行mediainfo + java在Linux中?
我使用Java 6,CentOS 5.6 final和最新的mediainfo版本。