import java.io.*;
import javax.sound.sampled.*;
public class Audio{
static Clip clip;
File soundFile = new
File("C:\Users\Hunter\workspace\Kal\hi_score_entry.wav");
public boolean playing;
public static void main(String args[]){
//ignore what's in here
}
//play method
public void playsound() throws Exception {
AudioInputStream inputStream = AudioSystem.getAudioInputStream(soundFile);
clip = AudioSystem.getClip();
clip.open(inputStream);
playing=false;
if(playing==false){
clip.start();
playing = true;
}
else{
;
}
}
//placeholder for rewind method
public void rewsound() throws Exception{
}
//placeholder for pause method
public void pausesound() throws Exception{
clip.stop();
}
//placeholder for fastforward method
public void forwardsound() throws Exception{
}
}
我需要playsound功能来播放。wav文件时,点击播放按钮触发(显然);然而,我需要它只这样做一次,而音频正在播放;然后,当音频停止时,它会再次播放与另一个点击。
它不会那样做…每次点击按钮时,它都会播放文件,导致,嗯,boom。
暂时忽略pausesound()方法,稍后再讨论。现在我只想让按钮按照上面的说明做。
EDIT:更新了代码;还是有同样的问题
您正在使用非谓词布尔-布尔。最好使用以下代码而不是playing == false
:
playing.equals(false);