声音在netbeans中播放但不是jar

时间:2013-10-26 03:05:34

标签: java netbeans nullpointerexception

这段代码应该在执行方法后发出一声短促的哔声。它在netbeans里面做了什么。但是当我使用netbeans构建一个可执行的Jar文件时,它给了我一个java.Lang.NullPointerException。有什么想法吗?

public void playSound() {

      try {
          AudioStream as = new AudioStream(ClassLoader.getSystemClassLoader().getResourceAsStream("resources\\beep-2.wav"));
          AudioPlayer.player.start(as); 
      } catch (Exception e) {
        e.printStackTrace();
      }
    }

3 个答案:

答案 0 :(得分:1)

使用正斜杠;反斜杠是特定于Windows的,仅在您使用爆炸布局时才有效。

答案 1 :(得分:1)

将代码更改为以下内容肯定会有效。

 public void playSound() {

    try {

         AudioStream as = AudioSystem.getAudioInputStream(this.getClass().getResource("resources\\beep-2.wav"));
         Clip clip = AudioSystem.getClip();
         clip.open(as);
         clip.start( );
       }
    catch (Exception e) {
    e.printStackTrace();
    }
   }

答案 2 :(得分:0)

无法找到您的音频文件。在保存jar的目录中创建一个resources文件夹,并将音频文件保存在该文件夹中。

或者,您可以在程序中提供确切的路径。例如C:\资源\哔 - 2.wav