循环音频和输入对话框取消

我试图让我的 JOptionPane 游戏正常运行。我有音频循环的代码。但是,当用户单击输入对话框上的“取消”时,它会退出游戏,但不会关闭音频线程。发生这种情况时,我需要一些东西来杀死音频线程。


我尝试过其他播放音频 .wav 文件的方法。但当用户点击取消时,它仍然会播放。已尝试使用 JFrames 并处理框架,但这也不会处理音频线程。


URL urlfog = theFog.class.getClassLoader().getResource("thefog.wav");

AudioInputStream audioStreamfog = AudioSystem.getAudioInputStream(urlfog);

AudioFormat formatfog = audioStreamfog.getFormat();

DataLine.Info infofog = new DataLine.Info(Clip.class, formatfog);

Clip audioClipfog = (Clip) AudioSystem.getLine(infofog);

audioClipfog.open(audioStreamfog);

audioClipfog.loop(audioClipfog.LOOP_CONTINUOUSLY);



String name;


do {

    name = (String) JOptionPane.showInputDialog(null,"Hello what is your name?","The Fog",JOptionPane.INFORMATION_MESSAGE,icon1,null,"");

}

while (name.equalsIgnoreCase(""));

取消程序后没有错误消息,只是音频仍在播放。


白衣非少年
浏览 88回答 1
1回答

Cats萌萌

String name;do {    name = (String) JOptionPane.showInputDialog(null, "Hello what is your name?", "The Fog", JOptionPane.INFORMATION_MESSAGE, icon1, null, "");    if ((name == null)) {        audioClipfog.stop();        System.exit(0);    }}while (name.equalsIgnoreCase(""));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java