Java.lang.UnsatifiedLink错误:加载mp3文件时无法加载库

Java.lang.UnsatifiedLink错误:加载mp3文件时无法加载库,java,javafx,java-8,media,Java,Javafx,Java 8,Media,我是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/au

我是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中。有人能帮我吗

Media sound = new Media(new File("./data/audio/Bomb.mp3").toURI().toString());
                                                                     ^ issue.
使用


我认为您的问题与媒体对象的创建无关

Amazon Corretto for Java 8不支持JavaFX。请参阅以下和:

嗨。Corretto 8中OpenJFX 8的构建目前处于生命支持阶段,我们只计划应用安全补丁和关键修复。上游,OpenJFX 8被放弃,请参见

建议使用JavaFX的方法是使用Corretto 11,并单独使用OpenJFX,例如使用Maven依赖项。目前最新版本14与Corretto 11兼容

结束这个问题

请遵循建议的方法,或者使用不同的Java发行版


请看这些问题,我希望它们能有所帮助。

您使用的是哪种JVM和JDK?硬盘上是否存在文件C:\Users\Cliente\.jdks\corretto-1.8.0\u 252\jre\bin\glib-lite.dll?你的操作系统窗口是什么,但是哪一个?异常是否带有堆栈跟踪?如果是,请添加到这里!您有权访问其他JDK吗?你能用这些来试试你的代码吗?因为它与音乐文件有关,你需要确定它是否与jar一起打包,然后根据你的案例回答。如果您知道它是与jar打包在一起的,那么下面是一个很好的资源。我会试试的,谢谢alotso,它成功了吗?没有。javafx.scene.media.media构造函数采用URI而不是文件路径。如果没有方案,则假定路径是资源路径,即相对于类路径。。。这就是我获得50个互联网积分的梦想……谢谢@Asmoun,但我的答案是除此之外的。我认为我不应该因此得到任何分数“应该”a可能花了5分钟以上检查上下文。这是公平的,另一个人得到100%的感谢是的,看起来这是个问题,因为我使用的是JDK 8,它是oldYou are welcome@Asmoun,谢谢。我很高兴听到这个答案是有帮助的。@Asmoun只是想澄清一下,我不认为问题在于JDK是否旧,它与Amazon Corretto的Java 8版本有关,但是对于Java 8,您可以找到其他JVM发行版,它们也应该像上述问题中建议的那样正常工作。当然,您可以切换到Amazon Corretto的最新版本,答案中也指出了这一点。
Media sound = new Media(new File("./data/audio/Bomb.mp3").toURI().getPath());