J'essaie d'ajouter un MediaPlayer à un JPanel en utilisant VLCJ. Quand j'exécute le code, le cadre s'ouvre mais il n'y a pas de vidéo affichée et pas de son. Je ne reçois aucune erreur de compilation-exécution. J'ai vérifié les sorties des méthodes isPlayable et isPlaying qui indiquent que les vidéos ne sont pas lisibles. Mais j'ai essayé tous les formats vidéo possibles.La vidéo n'est pas lisible et l'écran noir lors de l'utilisation de VLCJ pour créer MediaPlayer
import java.io.*;
import java.net.*;
import javax.media.CannotRealizeException;
import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;
import com.sun.jna.Native;
import com.sun.jna.NativeLibrary;
import uk.co.caprica.vlcj.binding.LibVlc;
import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;
import uk.co.caprica.vlcj.player.MediaPlayerFactory;
import java.awt.*;
import javax.swing.*;
import uk.co.caprica.vlcj.player.embedded.videosurface.CanvasVideoSurface;
public class VideoUpload extends JPanel
{
static String VLCLIBPATH = "C:\\Program Files\\VideoLAN\\VLC";
private MediaPlayerFactory mediaPlayerFactory;
private EmbeddedMediaPlayer mediaPlayer;
private Canvas c;
private JPanel p;
private JFrame frame;
static String url="C:/Users/M.C.Ş/Pictures/video/uwe.3gp";
public static void main(String[] args) {
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), VLCLIBPATH);
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
JFrame frame = new JFrame();
VideoUpload video = new VideoUpload(url);
frame.add(video);
frame.setSize(1300,750);
frame.setVisible(true);
video.play();
}
public VideoUpload(String url) {
url = this.url;
c = new Canvas();
c.setSize(500,500);
c.setBackground(Color.black);
setLayout(new BorderLayout());
add(c, BorderLayout.CENTER);
c.setVisible(true);
setVisible(true);
mediaPlayerFactory = new MediaPlayerFactory();
mediaPlayer = mediaPlayerFactory.newEmbeddedMediaPlayer();
mediaPlayer.setVideoSurface(mediaPlayerFactory.newVideoSurface(c));
System.out.println("is playable " + mediaPlayer.isPlayable());
}
public void play()
{
mediaPlayer.playMedia(url);
System.out.println("is playing " + mediaPlayer.isPlaying());
}
}