我试图让VLCJ做一个可视化的mp3文件,它从超文本传输协议流播放。当我播放一个视频时,视频就会显示出来。但是当音频播放时,什么也没有发生。
这是我在客户端的代码
EmbeddedMediaPlayerComponent empc = new EmbeddedMediaPlayerComponent();
String[] op = {"audio-visual=visual", "effect-list=spectrum", "effect-width=800", "effect-height=80"};
empc.mediaPlayer().media().play("http://127.0.0.1:" + port, op);
有更多的代码,但没有与VLCJ直接相关的代码。
如果你认为有必要的话,我可以发布服务器代码,但我认为没有必要,因为媒体可以完美地到达客户端。所以,音频和视频工作得很好,但是可视化工具根本没有显示出来。任何帮助都将不胜感激。
发布于 2019-12-12 03:27:24
首先,检查您的OS发行版上是否安装了可视化插件。
我使用的是Linux Mint,当你安装VLC时,默认情况下不会安装这些插件。
执行以下操作:
sudo apt install vlc-plugin-visualization
其次,当你在媒体播放器上调用play()
时,你似乎必须在MediaPlayerFactory
上设置可视化选项,而不是传递它们。
例如:
String[] options = new String[] {"--audio-visual=visual", "--effect-list=scope,vuMeter,spectrometer,spectrum"};
factory = new MediaPlayerFactory(options);
mediaPlayer = factory.mediaPlayers().newEmbeddedMediaPlayer();
此示例在从工厂创建媒体播放器之前配置工厂,您可以使用任何媒体播放器工厂创建方法。
可视化效果与窗口的大小成比例,我无法获得宽度和高度参数来执行任何操作。
这对于音频来说是很好的。
如果你播放视频,那么视频将被嵌入到你的应用程序中,VLC将打开一个新的单独窗口来显示可视化效果(可能你并不想要这样)。
https://stackoverflow.com/questions/59239198
复制相似问题