Frage

Ich mag ein Programm ausführen namens VLC in java und es steuert beim Laufen, zum Beispiel, wenn der Benutzer auf geklickt ?? oder ?? Taste, kann ich eine bestimmte geeigneten Maßnahmen.

Ich betreiben VLC durch diesen Code:

try
{
    Runtime rt = Runtime.getRuntime();
    Process p = rt.exec(VLCProgramAddFile + " udp://@:" + listeningPort);

    OutputStream out = p.getOutputStream();
    InputStream in = p.getInputStream();

    p.waitFor();
    System.out.println("End of VLC");
}
catch (Exception e)
{
    System.out.println("error in running VLC");
}

Ich habe über Java-Bindungen gehört, aber ich weiß nicht, wie funktioniert es für diesen Job zu arbeiten.

War es hilfreich?

Lösung

Sie werden nach VLCJ wahrscheinlich suchen, ist dies ein Java-Wrapper für VLC. Es ermöglicht Ihnen einzubetten VLC Media Player in einer Java-Anwendung, und damit alle Ihre persönlichen Steuerelemente hinzufügen.

(Do beachten Sie, dass für Benutzeranwendungen dies in Ordnung ist, aber die VLCJ Bibliothek ist nicht perfekt, können Sie haben mehrere Probleme auftauchen.)

EDIT: Für mein Projekt habe ich mit langen laufenden Programmen (mehr Instanzen für mehrere Stunden) Speicherlecks und Probleme gesehen. Vor allem die mehrere Instanzen nicht funktioniert in Kombination mit einigen Kompilierungsoptionen (die auf sind Standard).

Andere Tipps

VLCj ist, was Sie ja sind - es ist im Wesentlichen eine gerade Java-Wrapper um libvlc. Wenn Sie es in Prozess verwenden (vor allem, wenn mehrere Spieler in Prozess verwenden) werden Sie manchmal sehen VM stürzt - das ist nicht VLCJ Schuld, sondern libvlc und die nativen Bibliotheken es unter haben verwendet einige subtile threading Fehler, die diese Probleme macht <. / p>

können Sie es zuverlässig mit mehreren Instanzen arbeiten, aber zu tun, damit Sie es verwenden müssen, um von Verfahren. Sehen Sie hier für meine ersten Versuche, dies zu tun. Es ist ein bisschen Arbeit zu gründen, aber einmal geht, scheinen die Dinge zu arbeiten sehr gut.

Je nachdem, was Sie wollen vielleicht letztlich erreichen die gstreamer Java Bindings sind einen Blick wert, die Ihnen eine sehr feinkörnige Kontrolle über die Wiedergabe geben. Und Sie können Conversions und alles tun. Sie haben auch eine minimalistisches Beispiel Anwendung Video-Player für den Einstieg mit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top