Domanda

Voglio correre un programma chiamato VLC in java e controllarlo durante l'esecuzione, ad esempio, se l'utente fa clic su ?? o ?? , faccio una specifica azione adeguato.

corro VLC da questo codice:

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");
}

Ho sentito parlare di binding Java, ma non so come funziona per questo lavoro.

È stato utile?

Soluzione

Probabilmente si sta cercando VLCJ, questo è un wrapper Java per VLC. Esso consente di incorporare VLC media player in un'applicazione Java, e quindi aggiungere tutti i controlli personali.

(si noti che per le applicazioni utente questo va bene, ma la biblioteca VLCJ non è perfetto, si può hanno diversi problemi di pop-up.)

EDIT: Per il mio progetto ho visto le perdite di memoria e problemi con i programmi di lunga esecuzione (istanze multiple per diverse ore). Soprattutto i più istanze non funziona in combinazione con alcune opzioni di compilazione (che sono per impostazione predefinita).

Altri suggerimenti

VLCj è quello che stai dopo si - è essenzialmente un wrapper Java dritto intorno libvlc. Se lo si utilizza in corso (soprattutto se si utilizza più giocatori in corso) a volte si vede VM si blocca - questo non è colpa di VLCJ, piuttosto libvlc e le librerie native che utilizza sotto avere dei bug threading sottili che espone questi problemi <. / p>

È possibile farlo funzionare in modo affidabile con più istanze, ma per farlo è necessario utilizzare fuori di processo. Vedere qui per i miei tentativi iniziali a fare così. E 'un po' di lavoro per impostare, ma una volta in corso, le cose sembrano funzionare molto bene.

A seconda di cosa si vuole realizzare in ultima analisi, forse il gstreamer Java attacchi sono la pena dare un'occhiata, che vi darà un controllo a grana molto fine sulla riproduzione. E si può fare conversioni e tutto. Essi hanno anche uno stile minimalista lettore video applicazione di esempio per iniziare con.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top