我的音乐正在重新播放,但我正在阻止它,如何以及为什么?

时间:2015-06-03 14:56:23

标签: java

这是我主要课程的代码。

static boolean music = true;

这是我的框架中的代码

import java.awt.Color;
import java.io.InputStream;
import sun.audio.AudioPlayer;
import sun.audio.AudioStream;

public class frmMainMenu extends javax.swing.JFrame {
  boolean Music = ProjetFinal.music;
  public frmMainMenu() {
    initComponents();
    while (Music == true) {
      try {
       InputStream test = getClass().getClassLoader().getResourceAsStream("musics/menu.wav");
       AudioStream Audio = new AudioStream(test);   
       AudioPlayer.player.start(Audio); 
       Music = false;
      } catch (Exception e){}
System.err.println("Exception occurred: ");
Music = false;        
}

}

它在我的控制台中列出了“Exception occurred:”,但我该如何修复它,我的意思是,我不明白错误是什么。它发生在我的程序/框架启动时。

1 个答案:

答案 0 :(得分:3)

您的代码正在抛出异常,您正在盲目捕获而不是记录。之后它会重新循环,因为它还没有机会将Music设置为false。

这只是为什么你永远不应该有一个空catch块的原因之一。

catch (final Exception e) 
{ 
   System.err.println("Exception occurred: " + e.getMessage());
   JOptionPane.showMessageDialog(null, e.getMessage()); 
}
finally { Music = false; }