我正在尝试制作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();
}
但是如果我调用stopSound方法,那么声音永远不会停止。
感谢任何帮助!
答案 0 :(得分:1)
clip
的范围是问题所在。 clip
中定义的playSound
对象stopSound
未知。
如果您的对象包含clip
属性,请尝试将playSound
的第一行更改为:
clip = AudioSystem.getClip();