如何在 Java GUI 游戏中使用 Deprecated API for audio
How to get past using Deprecated API for audio in Java GUI game
所以我正在编写一个 Java 游戏,我想在达到某个点时添加声音效果。我在与 Java 文件本身相同的目录中的 .wav 文件中有声音效果。
我使用了这个问题的答案之一:Best way to get Sound on Button Press for a Java Calculator? 来播放音频 - 它完全没问题(所以我的代码有效)。但是,问题是我的编译器说我正在使用或覆盖已弃用的 API,我不确定我是否希望它发生。
这是相关代码(可以使用但使用了已弃用的 API):
String soundName = "NoGodNo.wav";
URL soundbyte = new File(soundName).toURI().toURL();
java.applet.AudioClip clip = java.applet.Applet.newAudioClip(soundbyte);
clip.play();
我做了一些研究,发现 AudioClip 已被弃用:https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/applet/AudioClip.html,并且根据此link没有替代品。
有没有办法通过完全替换代码来克服 Deprecated API 消息? (因为 AudioClip 没有替代品)。
提前致谢!
没关系,我明白了。这是不使用弃用 API 的答案:
try
{
String soundName = "theme_audio.wav";
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(soundName).getAbsoluteFile());
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();
} catch (Exception e) {}
谢谢!
所以我正在编写一个 Java 游戏,我想在达到某个点时添加声音效果。我在与 Java 文件本身相同的目录中的 .wav 文件中有声音效果。
我使用了这个问题的答案之一:Best way to get Sound on Button Press for a Java Calculator? 来播放音频 - 它完全没问题(所以我的代码有效)。但是,问题是我的编译器说我正在使用或覆盖已弃用的 API,我不确定我是否希望它发生。
这是相关代码(可以使用但使用了已弃用的 API):
String soundName = "NoGodNo.wav";
URL soundbyte = new File(soundName).toURI().toURL();
java.applet.AudioClip clip = java.applet.Applet.newAudioClip(soundbyte);
clip.play();
我做了一些研究,发现 AudioClip 已被弃用:https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/applet/AudioClip.html,并且根据此link没有替代品。
有没有办法通过完全替换代码来克服 Deprecated API 消息? (因为 AudioClip 没有替代品)。
提前致谢!
没关系,我明白了。这是不使用弃用 API 的答案:
try
{
String soundName = "theme_audio.wav";
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(soundName).getAbsoluteFile());
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();
} catch (Exception e) {}
谢谢!