Видео не воспроизводится в VLCJ
Я сделал эту заявку на Eclipse для школьного проекта. Это просто предположить, чтобы запустить видео, когда кнопка нажата. В IDE все работает нормально, хотя возникает ошибка, но она не доставляет проблем (оставлю это, подумал, поэтому, если это вызовет что-то, что я хочу сейчас.) Теперь, когда я экспортирую файл Jar и пытаюсь его запустить, на том же компьютере видео не воспроизводится. Что я могу сделать?
JFrame vid = new JFrame();
vid.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
vid.setBounds(100, 100, 450, 300);
vid.setVisible(true);
Canvas c = new Canvas();
c.setBackground(Color.BLACK);
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
p.add(c);
vid.add(p);
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(),"C:/Program Files/VideoLAN/VLC");
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
MediaPlayerFactory mpf = new MediaPlayerFactory();
EmbeddedMediaPlayer emp = mpf.newEmbeddedMediaPlayer(new Win32FullScreenStrategy(vid));
emp.setVideoSurface(mpf.newVideoSurface(c));
emp.toggleFullScreen();
emp.setEnableMouseInputHandling(false);
emp.setEnableKeyInputHandling(false);
String file="/resources/sky.mp4";
emp.prepareMedia(file);
emp.play();
Вот код ошибки, который появляется:
[0000000017a2b420] core vout display error: Failed to set on top
Пожалуйста, помогите мне, так как мне нужен проект для работы.
1 ответ
Ладно, надо немного поработать. Поскольку я не могу использовать URL вместо String, а String не позволяет мне создавать класс #getResource, я наконец решил запустить его из публичной папки, которая теоретически не должна меняться с компьютера на компьютер.
Так что мой код в конечном итоге:
String file = new File("C:/Users/Public/Videos/sky.mp4").getAbsolutePath();
emp.prepareMedia(file);
emp.play();
Хотя это и не идеально, чтобы пройти без руководства, так как мы будем устанавливать программу, она делает свою работу.