2016-07-26 5 views
0

私のJavaプログラムで "オーディオ出力モジュール"と "ビデオ出力"を変更する余裕はありますか? これらのオプションが "自動"に設定されている場合、私のLinuxはビデオファイルを再生しません。そこで、VLC Playerでは "ALSA"と "OpenGL GLX(XCB)"を選択しました。これでファイルが再生されます。 しかし、自分のプログラムでEmbeddedMediaPlayerComponentを使用すると、/ vスレッドに対して "自動"モードが選択されると思います。それから私は、(代わりに私のビデオの)緑のスクリーンを取得し、端末でのエラーだ:VLCJ出力オーディオ/ビデオモジュール

[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 

奇妙な、しかし、オーディオは... 、助けてくださいを再生しています! ;)

答えて

0

MediaPlayerFactory初期化引数を変更して、使用するオーディオ/ビデオ出力モジュールの名前を指定します。

ような何か:コマンドラインから

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

vlc --listはあなたに利用可能なモジュール名を与えます。

+0

ええと...興味深い解決策ですが、私は私のプログラムの途中で変更出力 "モジュール"が必要であることを恐れています。 VLC Playerのように、利用可能なすべての「モジュール」を選択できるコンボボックスがあります。私はvlcjで '出力デバイスのリスト 'を見つけました。それは私が探しているオプションと非常によく似ています... – SerVB

+0

この答えは、あなたがそれを行うことができる唯一の方法です。 LibVLC(したがって、vlcj)内に* no * APIがあります。 "ALSA audio output" - > "alsa"、またはオンザフライで変更することはできません。 – caprica

+0

あなたはあなたの 'vlcj-player'でこのオプションを提供していないということですか? (私はあなたのプロジェクトを構築できないのでこれをチェックすることはできません:) – SerVB

関連する問題