Привет, У меня есть класс звука для моего приложения, и он воспроизводит определенный звук, когда я говорю об этом тоже. Я хочу, чтобы быть в состоянии обнаружить, когда звук закончил играть, так что я могу затем играть другой звук без них над притиркой вот мой звук класс:Java Detecing при остановке звука
public class Sound {
public static final Sound cash = new Sound("/cash.wav");
public static final Sound snap = new Sound("/snap.wav");
public static final Sound disarm = new Sound("/disarm.wav");
public static final Sound tp = new Sound("/tp.wav");
public static final Sound select = new Sound("/selectBTN.wav");
public static final Sound scroll = new Sound("/btn.wav");
public static final Sound fire = new Sound("/fire2.wav");
private AudioClip c;
public Sound(String filename) {
try {
c = Applet.newAudioClip(Sound.class.getResource(filename));
} catch (Exception e) {
e.printStackTrace();
}
}
public void play() {
try {
new Thread() {
public void run() {
if (!title.mute) {
c.play();
}
}
}.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
затем для воспроизведения звука я использую эта строка кода:
Sound.cash.play();
Как я могу определить, когда звук закончил играть
это работает, но по какой-то причине, когда я играю звук это обыкновение играть снова, как я могу это исправить – user2279603
Его, кажется, что вы можете использовать один и тот же звуковой объект, см http://stackoverflow.com/вопросы/9999961/песни-игры-первый раз, но, действительно, не-игра-раз-остановленный клип-в-Java – rafalopez79