Java的循环背景音乐



我试图在应用程序中播放音乐,但我有一个代码,但我只是得到一个无效的指针例外。该文件在正确的目录中,所以我不知道我在哪里滑了。

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

我会更改此信息:

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"));

也:

  • 我会检查以确保流在使用之前的流不为空。
  • 我不会捕获任何和所有例外,只是我要寻找的特定案例。
  • 并将打印出异常的堆叠。

最新更新