使用vlcj 3.2.0的EmbeddedMediaPlayerComponent
,可以使用this.setCursorEnabled(false);
禁用游标,但这仅适用于画布。
如果VLC正在通过vlcj播放,则光标似乎成为默认光标并保持默认的VLC时间(1000毫秒),直到光标消失。 直接使用VLC,光标时间可以设置为0ms。
如何使用vlcj使光标消失。将时间设置为0毫秒还是使用blankCursor
?
答案 0 :(得分:1)
如果你想使用VLC" - mouse-hide-timeout = 0"用vlcj切换然后你可以通过覆盖媒体播放器工厂参数来实现。
默认情况下,EmbeddedMediaPlayerComponent
具有以下工厂参数:
protected static final String[] DEFAULT_FACTORY_ARGUMENTS = {
"--video-title=vlcj video output",
"--no-snapshot-preview",
"--quiet-synchro",
"--sub-filter=logo:marq",
"--intf=dummy"
};
组件类被设计为子类,您可以覆盖的方法之一允许您设置自己的工厂参数:
mp = new EmbeddedMediaPlayerComponent() {
@Override
protected String[] onGetMediaPlayerFactoryArgs() {
return new String[] {
"--video-title=vlcj video output",
"--no-snapshot-preview",
"--quiet-synchro",
"--sub-filter=logo:marq",
"--intf=dummy",
"--mouse-hide-timeout=0"
};
}
};
我们已添加--mouse-hide-timeout=0
。
这有点难看,因为我们也必须提供默认参数。使用vlcj 3.5.0,如果要保留这些默认参数,它会更容易一些:
mp = new EmbeddedMediaPlayerComponent() {
@Override
protected String[] onGetMediaPlayerFactoryExtraArgs() {
return new String[] {
"--mouse-hide-timeout=0"
};
}
};
可能还有一种更简单的方法......
确保在显示包含媒体播放器的窗口之前致电mediaPlayer.setCursorEnabled(false)
。