Я пытался работать с vlcj за последние два часа, но не могу понять, как заставить его работать. Я использовал this tutorial. Даже после написания моего кода, как в учебнике, я все еще получаю эту ошибку.Ошибка поврежденного модуля при использовании vlcj
SLF4J: Не удалось загрузить класс «org.slf4j.impl.StaticLoggerBinder».
SLF4J: Дефолт ни к какому-операции реализации (NOP) Регистратор
SLF4J: Смотрите http://www.slf4j.org/codes.html#StaticLoggerBinder для получения более подробной информации.
[000000001a8ed480] основной поток ошибок: коррумпированный модуль: C: \ VideoLAN \ VLC \ Plugins \ stream_filter \ libdash_plugin.dll
[000000001a8d7a30] ядро демультиплексора мета ошибка: коррумпированный модуль: C: \ VideoLAN \ VLC \ Plugins \ meta_engine \ libtaglib_plugin.dll
[000000001a8acfb0] ядро ошибка отображения Vout: Не удалось установить на вершине
Вот со что я использую, это немного отличается от учебника, потому что у моей программы разные требования.
public class AVPlayer extends JPanel{
private EmbeddedMediaPlayerComponent mediaPlayer;
private String vlcPath, mediapath ; //iniitalized in chooseFile()
//constructor
public AVPlayer() {
chooseFiles();
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), vlcPath);
mediaPlayer = new EmbeddedMediaPlayerComponent();
add(mediaPlayer);
setSize(400,400);
}
// method to explicitly choose the VLC path and the video file I want to play
private void chooseFiles(){
JFileChooser ourFileSelector = new JFileChooser();
File ourfile;
//choose vlc path
ourFileSelector.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
ourFileSelector.showSaveDialog(null);
ourfile = ourFileSelector.getSelectedFile();
vlcPath = ourfile.getAbsolutePath();
//choose media path
ourFileSelector.setFileSelectionMode(JFileChooser.FILES_ONLY);
ourFileSelector.showSaveDialog(null);
ourfile = ourFileSelector.getSelectedFile();
mediapath = ourfile.getAbsolutePath();
}
//called in main to play the video
public void playVideo(){
mediaPlayer.getMediaPlayer().playMedia(mediapath);
}
}
А вот главный
public static void main(String[] args) {
JFrame frame = new JFrame();
AVPlayer player = new AVPlayer();
frame.add(player);
frame.setVisible(true);
frame.validate();
player.playVideo();
}
Пробовал ли вы 32-битный, это привело к тому, что проблема с поврежденным модулем исчезла? Ранее я видел подобные проблемы с 64-битным VLC в Windows. – caprica