我希望使用我的本地声音文件之一来提供背景音乐,但出现以下错误消息:
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: C:\Program Files\Amazon Corretto\jdk1.8.0_232\jre\bin\glib-lite.dll
但是我的代码如下:
public class DungeonGUI extends Application {
private Dungeon dungeon;
private Stage stage;
private GridPane root;
private Button attack;
private Button heal;
// private Button checkInventory;
private Button save;
private Text characterHealth;
private Text characterPower;
private Text characterInventory;
private Text monsterHealth;
private Text monsterPower;
private File audioFile = new File("C:/Users/15774/Downloads/oof.mp3");
@Override
public void start(Stage stage) throws Exception {
setButtons();
dungeon = new Dungeon();
setTexts();
this.stage = stage;
root = new GridPane();
heal.setOnAction(this::onHeal);
attack.setOnAction(this::onAttack);
save.setOnAction(this::onSave);
stage.setTitle("Dungeone Dungeon");
root.setAlignment(Pos.CENTER);
setMedia();
setupRoot();
setStage(stage);
}
private void setMedia() {
Media media = new Media(audioFile.toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);
}
如您所见,我在任何时候都没有调用程序文件。可能是什么问题?
附言:这只是我代码的一部分。如果您需要更多信息,请发表评论。
最佳答案
Amazon's Corretto 8
不包含JavaFX support
的必要 Artifact 。
您必须集成一些必须在线检查的第三方jar。
您可以使用OpenJFX
,它是提供JavaFX支持的开源库。 OpenJFX是OpenJDK的一个项目。
它从JDK 11开始就支持,但是您可以在Corretto 8上尝试它。它可能会起作用。
尝试使用Oracle's JDK version 8
/ OpenJDK version 8
。
注意: Oracle's JDK 8
支持JavaFX
(它具有JavaFX支持所需的库)。 Open JDK版本8可能包含OpenJFX(您可以检查)。
读这个 :
关于java - 如何修复UnsatisfiedLinkError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60750910/