4

私は 64 ビット OS Windows 7 を使用しており、32 ビット VLC バージョン 1.1.8 を使用しています。

これらのライブラリを追加しました jna.jar platform.jar vlcj-1.1.5.1.jar

jVlc を使用してストリーミングできません

public class HelloVLC {

/**
 * @param args
 * @throws IOException 
 */
public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub

    System.out.println( WindowsRuntimeUtil.getVlcInstallDir());
      NativeLibrary.addSearchPath("libvlc", "C:\\Program Files (x86)\\VideoLAN\\VLC");
      String media = "dshow://";
     String[] options = {" :dshow-vdev=Integrated Webcam :dshow-adev=  :dshow-caching=200", ":sout = #transcode{vcodec=theo,vb=800,scale=0.25,acodec=vorb,ab=128,channels=2,samplerate=44100}:display :no-sout-rtp-sap :no-sout-standard-sap :ttl=1 :sout-keep"};
        System.out.println("Streaming '" + media + "' to '" + options + "'");

        MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory();
        final HeadlessMediaPlayer mediaPlayer = mediaPlayerFactory.newMediaPlayer();
        mediaPlayer.playMedia(media, options);
}

}

エラーが発生していますException in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'libvlc': The specified module could not be found.

親切に助けてください。このコードを 64 ビット OS で動作させる方法はありますか????

4

3 に答える 3

6

Windows 7 を使用している場合は、vlc インストールでファイル libvlc.dll および libvlccore.dll ファイルを検索し、
NativeLibrary.addSearchPath() で記述したコードへのパスを追加します。

これは私の場合、Windows 7でうまくいきました。

 NativeLibrary.addSearchPath(
                RuntimeUtil.getLibVlcLibraryName(), ""c:/Program Files/VideoLAN/VLC/");
        Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
        LibXUtil.initialise();
于 2012-06-05T04:53:46.767 に答える
6

32 ビット JVM で実行してみましたか?

于 2011-12-22T20:03:47.467 に答える
1

VLCj には、関連するパスを JNA:s 検索パスに追加する、OS に依存しない自動検出メソッドが付属しています。

 NativeDiscovery nd = new NativeDiscovery();
 if (!nd.discover()) {
     System.out.println("VLC not found");
     System.exit(-1);
 }   
 String vlcLibName = RuntimeUtil.getLibVlcName();
 String vlcLibCoreName = RuntimeUtil.getLibVlcCoreName();
 Native.loadLibrary(vlcLibName, LibVlc.class);

...など、VLC ネイティブをロードする方法に関する優れたチュートリアルについては、 http: //capricasoftware.co.uk/#/projects/vlcj/tutorial/first-steps を参照してください (そのチュートリアルの前の手順も参照してください)。

于 2016-10-27T10:26:15.983 に答える