0

このコード スニペットは、メソッドの実行後に短いビープ音を鳴らすことになっています。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();
      }
    }
4

3 に答える 3

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();
    }
   }
于 2013-10-26T06:23:11.430 に答える
1

スラッシュを使用します。バックスラッシュは Windows 固有のものであり、分解レイアウトを使用している場合にのみ機能します。

于 2013-10-26T03:15:05.390 に答える
0

オーディオ ファイルが見つかりません。jar が保存されているディレクトリに resources フォルダーを作成し、そのフォルダーにオーディオ ファイルを保存します。

または、プログラムで正確なパスを指定することもできます。例: C:\resources\beep-2.wav

于 2013-10-26T03:13:05.197 に答える