Javafx音乐播放器无法正常工作

时间:2018-05-02 13:10:19

标签: java javafx

我用java编写游戏,我决定添加音乐。我试过这段代码:

let pyramid = sampleString.split(separator: "\n").map { $0.split(separator: " ").compactMap(Double.init) }

但由于某种原因,我收到了这个错误:

https://pastebin.com/UPkTbWHh

文件 music.mp3 与运行它的类I在同一个文件夹中,代码在tick()方法中运行。有人知道如何解决这个问题吗?

谢谢,Lukas

1 个答案:

答案 0 :(得分:1)

您尝试从JavaFX应用程序的上下文之外执行上述代码。 Application是一个JavaFX组件,因此依赖于初始化的Toolkit,您不能(默认情况下)只需根据需要启动JFX组件。

"适当"方法是子类化JFX new JFXPanel(); ,然后从那里启动你的应用程序,这将正确初始化JFX平台。

" hack"方法是在Swing EDT

中运行以下代码行
Platform.startup(() -> {
    //Code to run on JFX thread
});

...这也会产生初始化JFX工具包的副作用,并允许您创建其他JFX组件。

正如评论中所指出的那样,从Java 9开始,您可以使用较少的hacky方法:

-Dorg.kie.demo=false