Java在另一个声音开始播放时停止声音
我正在尝试制作java游戏,现在我正在为游戏实现音乐。问题是,若音乐正在播放,声音开始播放,那个么我想停止音乐 当前代码Java在另一个声音开始播放时停止声音,java,javax,Java,Javax,我正在尝试制作java游戏,现在我正在为游戏实现音乐。问题是,若音乐正在播放,声音开始播放,那个么我想停止音乐 当前代码 Clip clip; public void playSound(File sound) { try { Clip clip = AudioSystem.getClip(); clip.open(AudioSystem.getAudioInputStream(sound)); clip.start(); } c
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方法,那个么声音永远不会停止
感谢您的帮助 问题在于
clip
的范围。playSound
中定义的clip
对象对stopSound
未知
如果对象包含clip
属性,请尝试将playSound
的第一行更改为:
clip = AudioSystem.getClip();
“剪辑”是否存在于
stopSound()上下文中?在我看来,您只是在playSound
函数中实例化了“clip”对象。我忘记了更新。(我只是复制了所有需要的代码)您正在将实例变量clip
隐藏在内部使用局部变量clip
尝试块。将Clip=AudioSyste.getClip()
替换为Clip=AudioSyste.getClip()