我正在尝试制作Java游戏,现在我正在为游戏实施音乐。问题是,如果音乐正在播放,声音开始播放,那么我想停止音乐。
当前代码
Clip clip;
public void playSound(File sound) {
try {
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(sound));
clip.start();
} catch(Exception e) {
System.out.println("Error with playing sound.");
e.printStackTrace();
}
}
public void stopSound() {
if(clip == null) return;
clip.stop();
}
但是,如果我致电停止方法,那么听起来永远不会停止。
任何帮助都将受到赞赏!
clip
的范围是问题所在。playSound
中定义的clip
对象是stopSound
未知的。
如果您的对象包含clip
属性,请尝试将playSound
的第一行更改为:
clip = AudioSystem.getClip();