1

現在、GSvideo ライブラリでビデオを録画し、VLC で別のビデオを同時に表示するアート プロジェクトに取り組んでいます。私たちのプロジェクトは、試した 3 台の Windows 7 コンピューターで正常に動作しますが、展示用に使用できるコンピューターでは次のエラーが発生します。

スレッド「アニメーション スレッド」の例外 java.lang.UnsatisfiedLinkError: ライブラリ gio-2.0 (gio-2.0|libgio-2.0|libgio-2.0-0) を -Djna.library.path=//Desktop/media_art_installation/ で読み込めませんsktetch/libraries/GSVideo/library\gstreamer\windows64. 最後のエラー:java.lang.UnsatisfiedLinkError: ライブラリ 'gio-2.0' を読み込めません: 指定されたモジュールが見つかりませんでした。

パスに「/」と「\」の両方が含まれていることに気付きました。学校のコンピューターが Java 1.6 を使用していることはわかっています。私たちも教師も技術サポートも、私たちの質問に対する答えを見つけることができません。では、なぜ学校のコンピューターでは機能しないのでしょうか?

このコードでエラーが発生する行は次のとおりです。

 movieMaker = new GSMovieMaker(this, 640, 480, "data/" + getCurrentFileName(), GSMovieMaker.THEORA, GSMovieMaker.MEDIUM, fps);
4

1 に答える 1

0

今のところ、ライブラリ パスのスペルが問題ではないと仮定しましょう...

言及したエラーを解析すると、モジュールが見つからないことがわかります。ライブラリ パスがリストされていますが、これは展示に使用されるマシンでは正しくないはずです。Win 7 マシンは 32 ビットまたは 64 ビットでしたか? 展示にはどのような機械が使われていますか?(Win XP? Mac? 32 ビット 64 ビット)。テスト機と展示機の違いは危険信号です。

また、このライブラリをどのように指していますか? 少しグーグルした後、私は次のことを思いつきました:

  • sourceforceのスレッドGSVideo.localGStreamerPathでは、 を使用して gstreamer ライブラリを指すことを推奨しています。

  • 別のスレッドでは、使用System.loadLibraryによって問題が解決したことが指摘されています (スレッドの最後から 2 番目の投稿)。


したがって、2 番目の提案は次のようになります。

System.loadLibrary("/Desktop/media_art_installation/sketch/libraries/GSVideo/library/gstreamer/windows64");
于 2013-01-19T18:55:04.697 に答える