当前位置: 首页 > 知识库问答 >
问题:

VLCJ全屏错误无法加载库“x11”:JNA本机支持(WIN32-x86/x11.dll)

阎慈
2023-03-14

我使用JVM32bit、JNA3.5.2和VLCJ3.0.1。

从我所看到的是加载32bit库,但我的操作系统是64bit。这就是问题所在吗?

共有1个答案

黄浩涆
2023-03-14

看起来您正试图在Windows中加载X11库。

那是行不通的。

vlcj使用Linux上的X11本机库将Java JFrame切换到全屏。

因此,在Windows上,当您创建媒体播放器时,可以执行以下操作:

    mediaPlayerComponent = new EmbeddedMediaPlayerComponent() {
        @Override
        protected FullScreenStrategy onGetFullScreenStrategy() {
            return new Win32FullScreenStrategy(frame);
        }
    };

在Linux上,您可以使用以下内容:

    mediaPlayerComponent = new EmbeddedMediaPlayerComponent() {
        @Override
        protected FullScreenStrategy onGetFullScreenStrategy() {
            return new XFullScreenStrategy(frame);
        }
    };

当然,如果您希望支持任一/或,您可以在运行时进行条件检查,类似于:

    mediaPlayerComponent = new EmbeddedMediaPlayerComponent() {
        @Override
        protected FullScreenStrategy onGetFullScreenStrategy() {
            if (RuntimeUtil.isWindows()) {
                return new Win32FullScreenStrategy(frame);
            }
            else {
                return new XFullScreenStrategy(frame);
            }
        }
    };
 类似资料:
  • 这些是我的系统规格 > Windows 64bit Java 11 64位

  • null 如果有人遇到了这个问题,并知道解决这个问题的任何事情,将不胜感激。

  • 我正在eclipse RCP项目中使用JNA。 我遵循片段风格。 xxx。dll直接位于a.b.c.d.win32中。win32。x86片段项目。 错误:线程“main”java中出现异常。lang.UnsatifiedLink错误:无法加载库“xxx”。dll”:在资源路径中找不到本机库(win32-x86/xxx.dll) 我需要一些帮助。

  • 我正在通过Node.js1的[node-java]包装器运行一个JNA编译的本机库 这个库是Hunsplaw JNA,它包装了Hunsplaw拼写库。 当试图从lib路径加载本机库时,所发生的情况是节点似乎挂起: 库就在那里,我也尝试了该方法的第二个选项,复制到一个临时文件夹中并从那里加载,这样我就可以看到 它就在那里。

  • 问题内容: 是否有一个好的库可用于从鼠标/键盘/操纵杆收集Linux中的用户输入,而不会强迫您创建可见的窗口呢?SDL可让您以合理的方式获取用户输入,但似乎会迫使您创建一个窗口,如果您已抽象了控件,那么这将很麻烦,因此控制计算机不必与渲染计算机相同。但是,如果控制机器和渲染机器相同,则会在显示器顶部出现一个很小的SDL窗口。 编辑说明 : 渲染器有一个输出窗口,在正常情况下,该窗口是全屏的,除非它