2013-04-15 1 views
1

Je souhaite utiliser vlcj pour lire une vidéo dans un JPanel. Ce JPanel est l'un des six JPanels dans un JFrame. J'ai utilisé le code ci-dessous pour afficher la vidéo, mais je n'ai pas réussi à le faire. Le JPanel n'affiche pas la vidéo. Je serais très reconnaissant si quelqu'un pouvait me donner quelques suggestions.Impossible de lire la vidéo par vlcj dans java

Le code JPanel est ci-dessous:

public class VideoPanel extends JPanel { 

private EmbeddedMediaPlayerComponent mymediaPlayer; 
private String vlcPath = "d:/Program Files/VideoLAN/VLC"; 
private String mediaPath = "d:/testvideo/test2.mov"; 
private EmbeddedMediaPlayer mediaPlayer; 

private Canvas canvas; 

public VideoPanel() { 
    setLayout(new BorderLayout(0, 0)); 

    Canvas canvas_1 = new Canvas(); 
    add(canvas_1, BorderLayout.CENTER); 

     NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), vlcPath); 
    Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class); 

    MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(); 
    CanvasVideoSurface videoSurface = mediaPlayerFactory.newVideoSurface(canvas_1); 
    mediaPlayer = mediaPlayerFactory.newEmbeddedMediaPlayer(); 
    mediaPlayer.setVideoSurface(videoSurface); 

    mediaPlayer.playMedia(mediaPath); 
    this.setVisible(true); 
} 
} 
+0

Définissez la fenêtre visible avant de commencer à jouer les médias – MadProgrammer

+0

Oui, je essayé, ne peut toujours pas afficher la vidéo. – Foreverniu

+0

Pour une meilleure aide plus rapidement, postez un [SSCCE] (http://sscce.org/). –

Répondre

1

Le problème a été résolu. Cela a été causé par le fait que j'ai essayé de lire la vidéo avant que le cadre ne mette tout le panneau visible et que l'URL du fichier vidéo soit correctement définie dans vlcj 2.1.0.

Je modifie l'URL au format correct et déplace le playMedia à la classe de cadre et l'appelle après l'initialisation de la trame.

Je trouve ces deux discussions très utiles: 1. Trying to embed vlcj media player in a WindowsCanvas inside a JPanel

  1. https://github.com/caprica/vlcj/issues/29
Questions connexes