Vmware VLCJ输出音频/视频模块

Vmware VLCJ输出音频/视频模块,vmware,vlc,libvlc,vlcj,debian-based,Vmware,Vlc,Libvlc,Vlcj,Debian Based,在我的java程序中是否可以更改“音频输出模块”和“视频输出”? 当这些选项设置为“自动”时,我的linux不会播放视频文件。所以在VLC播放器中,我选择了“ALSA”和“OpenGLX(XCB)”,现在我的文件正在播放。 但是当我在程序中使用EmbeddedMediaPlayerComponent时,我认为它为a/v线程选择了“自动”模式。然后我得到一个绿色屏幕(而不是我的视频)和终端中的一个错误: [00007f691c112ac8] pulse audio output error: st

在我的java程序中是否可以更改“音频输出模块”和“视频输出”? 当这些选项设置为“自动”时,我的linux不会播放视频文件。所以在VLC播放器中,我选择了“ALSA”和“OpenGLX(XCB)”,现在我的文件正在播放。 但是当我在程序中使用
EmbeddedMediaPlayerComponent
时,我认为它为a/v线程选择了“自动”模式。然后我得到一个绿色屏幕(而不是我的视频)和终端中的一个错误:

[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
奇怪,但音频正在播放。。。
求求你,救命

更改
MediaPlayerFactory
初始化参数,以指定要使用的音频/视频输出模块的名称

比如:

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

通过命令行,
vlc--list
将为您提供可用的模块名称。

Hmm。。。有趣的解决方案,但我担心我需要在我的程序中更改输出“模块”。例如在VLC播放器中,有一个组合框,我可以在其中选择一个可用的“模块”。我在vlcj中找到了输出设备列表,它与我正在寻找的选项极为相似……这个答案是你能做到的唯一方法,或者至少是接近它的方法。LibVLC(因此也是vlcj)中没有API提供“ALSA音频输出”->“ALSA”等映射,也不能动态更改。您的意思是您的
vlcj播放器中没有提供此选项?(我无法检查这一点,因为我无法构建您的项目:()vlcj只能公开LibVLC提供的功能。vlcj player允许您枚举和选择音频设备,但视频/音频输出没有任何功能,因为LibVLC中根本没有用于此功能的API。使用maven,项目构建得很好。