我使用64位操作系统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位操作系统????
您尝试过在32位JVM上运行它吗?
如果你使用的是Windows 7,那么在你的VLC安装中搜索libvlc.dll和libvlccore.dll文件,并将它们的路径添加到你在
中编写的代码中nativellibrary . addsearchpath()也添加…
这个方法在我的Windows 7中很有效。
NativeLibrary.addSearchPath(
RuntimeUtil.getLibVlcLibraryName(), ""c:/Program Files/VideoLAN/VLC/");
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
LibXUtil.initialise();
VLCj具有独立于操作系统的自动发现方法,可将相关路径添加到JNA:s的搜索路径:
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(请参阅该教程前面的步骤)!