有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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;        
}

}

它在我的控制台中显示“异常发生:”但我如何修复它,我的意思是,我不明白错误是什么。它发生在我的程序/框架启动时


共 (1) 个答案

  1. # 1 楼答案

    您的代码正在抛出一个异常,您盲目地捕获它,而不是记录它。之后,它会重新启动,因为它还没有机会将音乐设置为false

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

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