我想关闭vlc的硬件加速选项,以避免因图形卡驱动程序错误导致的一些滞后问题。我试图在prepareMedia方法中传递该选项。这没有任何帮助(就像我通过命令行执行它一样:vlc --no-overlay' path-to-video')。它实际上甚至似乎使播放更加迟钝。以下是我设置播放器的代码的一部分。我实际上尝试过playMedia("路径到视频"," - 无覆盖")并且它也没有用。
mediaPlayerComponent = new EmbeddedMediaPlayerComponent();
player = mediaPlayerComponent.getMediaPlayer();
...
player.prepareMedia("path-to-video","--no-overlay");
答案 0 :(得分:0)
在创建MediaPlayerFactory
而不是播放媒体时,必须传递其中一些选项 - 至于它为什么会这样,以及它是如何实现LibVLC的。
如果您正在使用EmbeddedMediaPlayerComponent
,可以执行以下操作来提供这些选项:
mediaPlayerComponent = new EmbeddedMediaPlayerComponent() {
protected String[] onGetMediaPlayerFactoryArgs() {
return new String[] {"--no-overlay"};
}
}
请注意,这将替换默认的媒体播放器工厂参数,因此您可能也想指定其他一些 - 这些是默认值:
protected static final String[] DEFAULT_FACTORY_ARGUMENTS = {
"--video-title=vlcj video output",
"--no-snapshot-preview",
"--quiet-synchro",
"--sub-filter=logo:marq",
"--intf=dummy"
};
这就是你如何设置这样的原生VLC选项,但是这个特定选项是否能达到你真正想要的(并且没有任何其他副作用)是另一回事。