1

我正在用 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(); 但我也可以改变音量。

4

0 回答 0