Java - Lire les fichiers vidéo et audio (mp4, mp3, ...) avec vlcj

Erforderlich:
- VLC herunterladen (VLC Media Player herunterladen)
- Installieren Sie 32-Bit-VLC für die 32-Bit-VM oder 64-Bit für die 64-Bit-JVM-VM

Java Media Player mit VLC vlcj Library
Ein Mediaplayer, den wir zu 100% in Java erstellt haben



Sie können die JMF-Bibliothek,  aber es scheint, dass es veraltet und alt ist, also begannen die Entwickler, aus der berühmten VLC-Bibliothek von C++ eine Bibliothek namens vlcj (das j für Java) zu entwickeln.
Wir zeigen Ihnen ein kurzes Beispiel für die Verwendung dieser wunderbaren Bibliothek. Kopieren Sie einfach den Code im folgenden Beispiel und fügen Sie ihn in Ihre bevorzugte IDE ein:  Elipse oder Netbeans. Beachten Sie, dass Sie download vlcj library und integrieren Sie es in Ihr Projekt und in Ihren Klassenpfad.

Das Ziel ist es, sicherzustellen, dass Sie ein Arbeitsumfeld haben. Dieser Schritt ist entscheidend für die Codierung jeder Anwendung, die vlcj verwendet. Wenn diese einfache Anwendung nicht funktioniert, funktionieren alle anderen Anwendungen, die in Java codiert wurden und vlcj integrieren, nicht.

Suchen Sie nach nativer library

Der Pfad der nativen Bibliothek sollte auf den Ordner verweisen, der die beiden Dateien enthält  libvlc.dll und libvlccore.dll. Unter Linux heißen die Dateien libvlc.so und libvlccore.so. Diese beiden DLL-Dateien befinden sich im VLC-Ordner, wenn Sie sie nicht finden können, laden Sie sie herunter und fügen Sie sie dem Ordner hinzu, in dem VLC wurde installiert.

NativeLibrary.addSearchPath(
                    RuntimeUtil.getLibVlcLibraryName(),  "C:/Programme/VideoLAN/VLC);

Ein Fehler ist, dass die Java VM mit einer 32-Bit-Version von VLC verwendet wird. Es wird nicht funktionieren, nur weil Sie die 64-Bit-VLC-Version mit 64-Bit-JDK und die 32-Bit-VLC-Version mit 32-Bit-JDK verwenden müssen.

Native Bibliothek laden

Die vlcj-API verwendet JNA, das VLC mit der Bibliothek verbindet. Das bedeutet, dass  Die Umwelt  muss  Sein  Gut konfiguriert  so dass  Java-Anwendung in der Lage wäre, die Buchhändler  native.
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);

void  chargerLibrary(){
    NativeLibrary.addSearchPath
    RuntimeUtil.getLibVlcLibraryName(), "C:/Programme/VideoLAN/VLC");
    Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
}

Zwei wesentliche Klassen:
  • MediaPlayerFactory: Initialisiert eine einzelne Instanz von libvlc und erstellt die Laufwerksinstanzen. Multimedia. Wir können  Erstellen Sie mehrere Bedienfelder für jedes Video, zum Beispiel.
  • EmbeddedMediaPlayer: Integriert eine Komponente des Media Players in eine UI-Komponente. Es ist mit dieser Klasse, wenn can  control  alles, was eine Beziehung zu hat  Die Benutzeroberfläche wie Wiedergabe vorbereiten oder starten, Vollbild usw.

Beispiel

import java.awt.BorderLayout; 
import java.awt.Canvas;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import com.sun.jna.Native;
import com.sun.jna.NativeLibrary;
import uk.co.caprica.vlcj.binding.LibVlc;
import uk.co.caprica.vlcj.player.MediaPlayerFactory;
import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;
import uk.co.caprica.vlcj.player.embedded.windows.Win32FullScreenStrategy;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;
import uk.co.caprica.vlcj.runtime.x.LibXUtil;

/*www.codeurjava.com*/

public class MediaPanel {

public static void main(final String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
chargerLibrary();
neues MediaPanel(args);
}
});
}

void chargerLibrary(){
NativeLibrary.addSearchPath(
RuntimeUtil.getLibVlcLibraryName(), "C:/Programme/VideoLAN/VLC");
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
LibXUtil.initialise();
}

private MediaPanel(String[] args) {
JFrame frame = new JFrame("vlcj tutorial");
frame.setLocation(100, 100);
frame.setSize(1050, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

//Erstellen einer Instanz von Canvas
Canvas c = new Canvas();
//Der Hintergrund des Videos ist standardmäßig schwarz
c.setBackground(Color.black);
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
//Video nimmt die gesamte Oberfläche ein
p.add(c, BorderLayout.CENTER);
frame.add(p, BorderLayout.CENTER);

//Erstellen einer Factory
MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory();
//Erstellen einer Mediaplayer-Instanz
EmbeddedMediaPlayer mediaPlayer = mediaPlayerFactory.newEmbeddedMediaPlayer(new Win32FullScreenStrategy(frame));
mediaPlayer.setVideoSurface(mediaPlayerFactory.newVideoSurface(c));
//Fullscreen
mediaPlayer.toggleFullScreen();
//Mauszeiger in JFrame ausblenden
mediaPlayer.setEnableMouseInputHandling(false);
//Deaktivieren Sie die Tastatur in JFrame
mediaPlayer.setEnableKeyInputHandling(true);

//Datei vorbereiten
mediaPlayer.prepareMedia("vidéo.mp4");
//die Datei
mediaPlayer.play() abspielen;
}
}
Los geht's! Mit nur wenigen Codezeilen können Sie jetzt Ihren eigenen Mediaplayer haben. Beginnen Sie mit der Online-Erkundung der vlcj documentation um Ihre eigene App nach Bedarf zu entwickeln.