用Java循环背景音乐?

时间:2014-02-02 21:29:58

标签: java embedded-resource playback javasound

我正在尝试在我的应用程序中播放音乐,我有这个代码,但我只是得到一个空指针异常。该文件位于正确的目录中,因此我不知道我在哪里滑倒。

public void startBGMusic(){
    AudioPlayer myBackgroundPlayer = AudioPlayer.player;
    ContinuousAudioDataStream myLoop = null;
    try {
          AudioStream myBackgroundMusic = new AudioStream(new FileInputStream(new File(getClass().getResource("Act/Music/OverTheInferno.wav").toURI())));
          AudioData myData = myBackgroundMusic.getData();
          myLoop = new ContinuousAudioDataStream(myData);
    }catch(Exception error){
        System.out.println("File Not Found");
        System.out.println(error);
    }
    myBackgroundPlayer.start(myLoop);  
}

1 个答案:

答案 0 :(得分:1)

我会改变这个:

AudioStream myBackgroundMusic = new AudioStream(new FileInputStream(
   new File(getClass().getResource("Act/Music/OverTheInferno.wav").toURI())));

这样的事情:

AudioStream myBackgroundMusic = new AudioStream(
    getClass().getResourceAsStream("Act/Music/OverTheInferno.wav"));

此外:

  • 我会检查以确保在使用之前该流不为空。
  • 我不会抓住任何和所有异常,只是我正在寻找的特定异常。
  • 并打印出Exception的stacktrace。
相关问题