У меня есть старый звуковой класс, и я хочу заменить его applet.AudioClip на что-нибудь современное, чтобы можно было изменить громкость. Как бы я это сделал?

Я разрабатываю игру на 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(); но я также могу изменить громкость.

0 ответов

Другие вопросы по тегам