2016-07-26 3 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) есть API * no * API, который обеспечивает отображение, например. «Звуковой выход ALSA» -> «alsa», и он не может быть изменен «на лету». – caprica

+0

Вы хотите сказать, что этот параметр не указан в вашем 'vlcj-player'? (Я не могу проверить это, потому что я не могу построить ваш проект :() – SerVB

Смежные вопросы