私はおそらくこれに間違ってアプローチしていますが、javax.sound.sampledクリップのループを停止する方法を見つける必要があります。私は9つの異なる音を持っています。ユーザーが振幅増加ボタンを押したときに別のサウンドを再生したい。現時点では、ボタンをクリックするたびにplaySoundメソッドを呼び出して機能していますが、すでに再生されているサウンドは停止していません。音はお互いに再生されます。
ユーザーがボタンを押したときに既存のすべてのサウンドを閉じる方法はありますか?
これが私のplaySoundコードです:
public void playSound(){
try {
audio = AudioSystem.getAudioInputStream(soundFile[activeSound]);
clip = AudioSystem.getClip();
clip.open(audio);
clip.start();
clip.loop(Clip.LOOP_CONTINUOUSLY);
}
catch (IOException ex){
System.out.println("Sorry but there has been a problem reading your file.");
ex.printStackTrace();
}
catch (UnsupportedAudioFileException ex1){
System.out.println("Sorry but the audio file format you are using is not supported.");
ex1.printStackTrace();
}
catch (LineUnavailableException ex2){
System.out.println("Sorry but there are audio line problems.");
ex2.printStackTrace();
}
}
私は今2日間これにいて、それは私を怒らせています。どんな助けでも大歓迎です。