Опитвам се да работя с 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] core demux мета грешка: повреден модул: C:\VideoLAN\VLC\plugins\meta_engine\libtaglib_plugin.dll
[000000001a8acfb0] core 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();
}