我試圖讓我的 JOptionPane 游戲正常運行。我有音頻循環(huán)的代碼。但是,當(dāng)用戶單擊輸入對話框上的“取消”時,它會退出游戲,但不會關(guān)閉音頻線程。發(fā)生這種情況時,我需要一些東西來殺死音頻線程。我嘗試過其他播放音頻 .wav 文件的方法。但當(dāng)用戶點擊取消時,它仍然會播放。已嘗試使用 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(""));取消程序后沒有錯誤消息,只是音頻仍在播放。
1 回答

Cats萌萌
TA貢獻1805條經(jīng)驗 獲得超9個贊
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(""));
添加回答
舉報
0/150
提交
取消