2016-07-26 32 views
0

Gibt es eine Möglichkeit, "Audio-Ausgangsmodul" und "Video-Ausgang" in meinem Java-Programm zu ändern? Mein Linux spielt keine Videodateien ab, wenn diese Optionen auf "Automatisch" eingestellt sind. Also habe ich im VLC Player "ALSA" und "OpenGL GLX (XCB)" gewählt, jetzt spielen meine Dateien. Aber wenn ich EmbeddedMediaPlayerComponent in meinem Programm verwende, denke ich, wählt es "automatische" Modus für a/v Threads. Dann bin ich einen grünen Bildschirm bekommen (statt mein Video) und einen Fehler im Terminal:VLCJ Ausgang Audio/Video-Module

[00007f691c112ac8] pulse audio output error: stream connection failure: Timeout 
[00007f691c112ac8] core audio output error: module not functional 
[00007f69081b6168] core decoder error: failed to create audio output 
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory 

Seltsam, aber Audio-Wiedergabe ... Bitte helfen Sie! ;)

Antwort

0

Ändern Sie die Initialisierungsargumente MediaPlayerFactory, um den Namen des Audio/Video-Ausgabemoduls anzugeben, das Sie verwenden möchten.

Etwas wie:

String[] args = {"--vout=xcb", "--aout=alsa"}); 

Von einer Befehlszeile Sie vlc --list die verfügbaren Modulnamen geben.

+0

Hmm ... Interessante Lösung, aber ich habe Angst, dass ich Output-Module in der Art meines Programms ändern muss. Wie im VLC Player gibt es eine Combobox, in der ich eines der verfügbaren "Module" auswählen kann. Ich habe 'Liste der Ausgabegeräte' in vlcj gefunden, es ist extrem ähnlich zu Option, die ich suche ... – SerVB

+0

Diese Antwort ist die einzige Möglichkeit, wie Sie es tun können, oder zumindest etwas in der Nähe davon. Es gibt * keine * API in LibVLC (und daher vlcj), die eine Zuordnung von z. "ALSA audio output" -> "alsa", kann auch nicht im laufenden Betrieb geändert werden. – caprica

+0

Sie meinen, Sie bieten diese Option nicht in Ihrem 'vlcj-player' an? (Ich kann das nicht überprüfen, weil ich Ihr Projekt nicht erstellen kann :() – SerVB