我正在用 Java 开发一个带有一些可爱的 8 位 sfx 的游戏,我有这个 2011 年由 notch 制作的非常古老的声音类。这是一个很好的声音类,唯一的问题是我无法更改其中声音的音量,我已尝试多次更改它,但我总是遇到非常令人困惑的错误和 NullPointerExceptions。这是我的声音课:
package com.teto.main;
import java.applet.Applet;
import java.applet.AudioClip;
public class Sound {
public static final Sound levelUp = new Sound("/example.wav");
private AudioClip clip;
private Sound(String name) {
try {
clip = Applet.newAudioClip(Sound.class.getResource(name));
} catch (Throwable e) {
e.printStackTrace();
}
}
public void play() {
try {
new Thread() {
public void run() {
clip.play();
}
}.start();
} catch (Throwable er) {
er.printStackTrace();
}
}
}
如您所见,它使用的是 java.applet.AudioClip,我认为它不允许您更改使用它的音效的音量。所以这就是为什么我想弄清楚如何用更好的东西替换它,这样我仍然可以输入 Sound.soundname.play(); 但我也可以改变音量。