1

JVLCを使用しようとしていますが、動作しないようです。jar をダウンロードし、VLCをインストールして、-D 引数を JVM に渡し、VLC がインストールされている場所を伝えました。私も試しました:

NativeLibrary.addSearchPath("libvlc", "C:\\Program Files\\VideoLAN\\VLC");

運がない。私はいつも得る:

スレッド「メイン」での例外 java.lang.UnsatisfiedLinkError: ライブラリ 'libvlc' をロードできません: 指定されたモジュールが見つかりませんでした。

誰かがそれを機能させましたか?

4

4 に答える 4

1

ロードしようとしているdllが利用できない他のdllを必要とする場合、その例外が発生する可能性があります。申し訳ありませんが、これ以上具体的なサポートはできませんが、確認する必要があります。dllの依存関係をウォークするためにdependsを使用できます。

于 2008-09-24T14:44:51.783 に答える
1

そのNativeLibraryクラスについてはよくわかりません。通常、ネイティブライブラリを使用する場合は、システムプロパティ「java.library.path」をネイティブライブラリの場所に設定する必要があります。提案されているように、ネイティブライブラリ(dllなど)が追加のネイティブライブラリに依存している場合、OSがこれらの依存関係を解決するために引き継ぎます。OSは、ネイティブライブラリのOS固有のパスを検索することにより、java.library.pathとbegingについての手がかりを持ちません。Windowsでは、これには現在のPATH環境変数とWindowsディレクトリのSystem32が含まれます。Linuxでは、これはLD_LIBRARY_PATH/ld.confの設定です。

java.library.pathと同じ場所を指すようにPATH(LD_LIBRARY_PATH)を設定してみてください。唯一の問題は、プロセスが起動するもの(JVM)を設定できないことです。すでに手遅れです。JVMを起動する前に、環境を設定する必要があります。これは、バッチファイル、シェルスクリプト、Antに対して、またはIDEから直接実行できます。

于 2008-09-24T16:29:20.520 に答える
1

試してみてください

System.load("C:\\Path\\To\\libvlc.dll");

少なくとも、ライブラリをロードできることを確認するために。そうでない場合は、有用なエラーメッセージが表示される可能性があります(私にとってはそうです)。

(Sipeが述べたように、64ビットのJRE / JDKを使用している可能性があります。その場合、libvlcは見つかりません(32ビットのみ)。この場合、32ビットのJRE / JDKの使用に切り替える必要があります。)

于 2011-05-08T10:24:14.850 に答える
1

I had the same problem too and I noticed that it occured only with 64-bit jdk/jre. Works like charm with 32-bit jdk under Win7 x64.

Have a nice coding!

-Sipe

于 2011-03-28T12:54:50.993 に答える