我是Java的新手,我正在尝试使我的javafx应用程序播放声音。我无法创建javafx.scene.media.Media对象,因为不断收到异常。
java.lang.UnsatisfiedLinkError: Can't load library: C:\Users\Cliente\.jdks\corretto-1.8.0_252\jre\bin\glib-lite.dll
这是生成此错误的代码段。
Media sound = new Media(new File("./data/audio/Bomb.mp3").toURI().toString());
我想这是由于我的uri格式错误而产生的,但是我看不出为什么这与我所见过的教程有所不同。我的音频文件位于项目根文件夹内的/ data / audio中。谁能帮我吗?
答案 0 :(得分:4)
我认为您的问题与 Media
对象的创建无关。
Amazon Corretto for Java 8 不支持 JavaFX。请参阅以下 Github issue 和 this comment:
<块引用>嗨。 Corretto 8 中的 OpenJFX 8 构建目前处于生命支持状态,我们只计划应用安全补丁和关键修复。在上游,OpenJFX 8 被放弃(参见 https://hg.openjdk.java.net/openjfx)。
<块引用>推荐的使用 JavaFX 的方法是使用 Corretto 11 并单独引入 OpenJFX,例如具有 Maven 依赖项。最新版本(目前为 14)与 Corretto 11 兼容。
<块引用>关闭此问题。
请遵循建议的方法,或者使用不同的 Java 发行版。
答案 1 :(得分:2)
Media sound = new Media(new File("./data/audio/Bomb.mp3").toURI().toString());
^ issue.
使用
Media sound = new Media(new File("./data/audio/Bomb.mp3").toURI().getPath());