【问题标题】:JavaFx: Could not create playerJavaFx:无法创建播放器
【发布时间】:2020-03-11 19:07:02
【问题描述】:

我正在编写一个面向 Java 13 的 JavaFx 应用程序。 我使用 gradle 和 openjfx 插件来构建我的项目。

以这种方式构建它,每次我尝试创建媒体播放器时都会得到:

MediaException: UNKNOWN : com.sun.media.jfxmedia.MediaException: Could not create player!``` 

我已经安装了所有必要的库,包括所有版本的 libav 54-58。我使用有效的 uri 格式。 然后,我尝试使用通过运行 jlink 创建的自定义 jre,并将所有 javafx 和标准模块添加到其中。

jlink --module-path=/path/to/jmods --add-modules=ALL-MODULE-PATH --output=/path/to/output

现在,当我启动应用程序并创建第一个窗口时,我得到了这个异常。但是我的音频播放器测试用例运行成功。

java.util.MissingResourceException: Can't find bundle for base name com.sun.javafx.tk.quantum.QuantumMessagesBundle, locale en_US

我尝试的最后一件事是使用我用版本 12 创建的较旧的 javafx jre。这个版本没有显示任何两个问题。 我的问题是我真的很想使用从 gradle 获得的 javafx 模块,因为这样更新等变得更容易,我想稍后为我的应用程序创建一个自定义运行时。

【问题讨论】:

  • 我在 IntelliJ 中使用 java-13-openjdk 和 java-openjfx(pacman 中针对 Java 13 的最新项目)构建 Sample JavaFX 项目时遇到了同样的问题(MissingResourceException)。跨度>
  • @AlexMcMurray 在这里也一样。我留下了评论here。我目前的解决方案是使用来自胶子的openjfx

标签: java javafx java-platform-module-system javafx-11 jlink


【解决方案1】:

我在 IntelliJ IDEA 的示例 JavaFX 项目中也遇到了这个问题,使用 Java 13。

为了解决这个问题,我创建了一个名为 QuantumMessagesBundle.properties 的文件,其内容如下:

OverlayWarningESC = Press ESC to exit full-screen mode.

然后,我打开/usr/lib/jvm/java-13-openjdk/lib/javafx-graphics.jar并将这个文件放在com/sun/javafx/tk/quantum/QuantumMessagesBundle.properties

【讨论】:

  • 这是回答问题的有效尝试。请不要仅仅因为作者在解释他们的解决方法或解决方案之前说他们有同样的问题而标记/投票删除答案。
  • 澄清:我在尝试解决自己的问题时遇到了这个问题。一旦我找到了一个对我有用的解决方案,我认为将它写下来给其他有类似问题的人会很好。我知道,这个答案不是很好(我想这是我第一次写这个),但总比没有好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-18
  • 2014-07-28
  • 1970-01-01
  • 1970-01-01
  • 2015-02-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多