우분투에서 vlcj를 사용하여 JPanel에서 비디오를 재생하려고하는데 오류가 없습니다. 내 프로젝트가 성공적으로 빌드되었지만 비디오가 재생되지 않습니다. 내가 JFrame 코드를 실행하면 잠시 동안 온다. Windows에서 동일한 코드를 사용하면 비디오를 재생하고 성공적으로 작동하지만 우분투에서는 작동하지 않습니다.우분투에서 vlcj를 사용하여 JPanel에서 비디오를 재생할 수 없습니다. 13.04
다음 출력 창이 있습니다.
다음
코드의 출력 창 내 코드입니다 : (나는 vlcj-3.0.1을 사용하고 있습니다)
import com.sun.jna.NativeLibrary;
import java.awt.BorderLayout;
import java.io.File;
import javax.swing.JFrame;
import javax.swing.JPanel;
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;
class PlayerPanel
extends JPanel {
private File vlcInstallPath = new File("---------------Path of vlc player (installed) --------------");
private EmbeddedMediaPlayer player;
public PlayerPanel() {
NativeLibrary.addSearchPath("libvlc", vlcInstallPath.getAbsolutePath());
EmbeddedMediaPlayerComponent videoCanvas = new EmbeddedMediaPlayerComponent();
this.setLayout(new BorderLayout());
this.add(videoCanvas, BorderLayout.CENTER);
this.player = videoCanvas.getMediaPlayer();
}
public void play (String media) {
player.prepareMedia(media);
player.parseMedia();
player.play();
}
}
class VideoPlayer
extends JFrame {
public VideoPlayer() {
PlayerPanel player = new PlayerPanel();
this.setTitle("Swing Video Player");
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());
this.setSize(640, 480);
this.setLocationRelativeTo(null);
this.add(player, BorderLayout.CENTER);
this.validate();
this.setVisible(true);
player.play("---------------Path of video we want to play ----------------------");
}
public static void main (String[] args) {
new VideoPlayer();
}
}
그리고 우분투에서 VLC 플레이어에 대한 제공하기 위해 나에게있는 경로를 알려주십시오. 이름이 vlc 인 폴더가 5 개 이상 있습니다. 하나는 /usr/share/
이고 다른 하나는 /etc/
등입니다.
그것은이가 으론를 어떻게 해결하는지 분명하지 않다. – h7r
그것은 문제를 해결하지는 못하지만,'/ usr/lib/vlc/lua/meta/reader/filename.luac' 비디오의 이름을 바꾸면 비디오가 재생되지 않는 이유는 –
입니다.하지만 youtube support가 느슨합니다. – schasoli