vlcj 媒体选项“--no-overlay”不起作用?
vlcj media option "--no-overlay" doesn't work?
我想关闭 vlc 的硬件加速选项,以避免显卡驱动程序错误导致的一些滞后问题。我试图在 prepareMedia 方法中传递该选项。那没有帮助(就像我通过命令行执行此操作时一样:vlc --no-overlay 'path-to-video')。它实际上什至似乎让播放有点滞后。下面是我设置播放器的代码的一部分。我实际上尝试了 playMedia("path-to-video","--no-overlay") 但也没有用。
mediaPlayerComponent = new EmbeddedMediaPlayerComponent();
player = mediaPlayerComponent.getMediaPlayer();
...
player.prepareMedia("path-to-video","--no-overlay");
其中一些选项必须在创建 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 选项的方式,但此特定选项是否会执行您真正想要的操作(并且没有任何其他副作用)是另一回事。
我想关闭 vlc 的硬件加速选项,以避免显卡驱动程序错误导致的一些滞后问题。我试图在 prepareMedia 方法中传递该选项。那没有帮助(就像我通过命令行执行此操作时一样:vlc --no-overlay 'path-to-video')。它实际上什至似乎让播放有点滞后。下面是我设置播放器的代码的一部分。我实际上尝试了 playMedia("path-to-video","--no-overlay") 但也没有用。
mediaPlayerComponent = new EmbeddedMediaPlayerComponent();
player = mediaPlayerComponent.getMediaPlayer();
...
player.prepareMedia("path-to-video","--no-overlay");
其中一些选项必须在创建 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 选项的方式,但此特定选项是否会执行您真正想要的操作(并且没有任何其他副作用)是另一回事。