2014-09-12 2 views
0

우분투에서 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/ 등입니다.

답변

0

편집 : java -jar vlcj-3.0.1-tests.jar 으로 심볼릭 링크를 사용할 수 있습니다 : "/usr/lib/libvlc.so.5"

  • 를이 코드를 붙여으로

    1. 당신은 경로 "VLC 플레이어의 경로 (설치)"을 실행할 때 발견 다른 포럼에서도 마찬가지입니다. 32 비트 java7 및 vlc에는 우분투 문제가 있습니다. 문제는 여기에서도 explaind됩니다 : 해결 방법으로 https://github.com/caprica/vlcj/issues/62

    우분투 14.04에서 filename.luac 당신이 여기를 찾아 이름을 바꿉니다 /usr/lib/vlc/lua/meta/reader/filename.luac

  • +0

    그것은이가 으론를 어떻게 해결하는지 분명하지 않다. – h7r

    +0

    그것은 문제를 해결하지는 못하지만,'/ usr/lib/vlc/lua/meta/reader/filename.luac' 비디오의 이름을 바꾸면 비디오가 재생되지 않는 이유는 –

    +0

    입니다.하지만 youtube support가 느슨합니다. – schasoli

    관련 문제