1

ゲーム フロッガーを作成しましたが、オーディオを追加したいと考えています。オーディオ ファイルは .wav です。デスクトップに保存されているオーディオのファイル パスを使用すると、機能します。しかし、netbeans の「audio」というパッケージに追加したオーディオを使用したいと考えています。しかし、エラーが発生します。

private String audioFile = "/audio/retrolevel.wav";

  public void getSound() {
    try
{
    Clip clip = AudioSystem.getClip();
    clip.open(AudioSystem.getAudioInputStream(new File(audioFile)));
    clip.start();
}
catch (LineUnavailableException | UnsupportedAudioFileException | IOException exc)
{
    exc.printStackTrace(System.out);
}

}

エラーは

java.io.FileNotFoundException: \audio\retrolevel.wav (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at com.sun.media.sound.WaveFloatFileReader.getAudioInputStream(WaveFloatFileReader.java:164)
at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1179)
at frogger.Board.getSound(Board.java:170)

audioFile = "C:/Users/Michael/Desktop/Frogger Music/WAV/retrolevel.wav" の場合、問題なく動作します。netbeans のパスは問題ないと確信しているのに、netbeans のファイルで機能しないのはなぜですか?

4

2 に答える 2

0

あなたの道は間違っていると思います。使用禁止

private String audioFile = "/audio/retrolevel.wav";

使ってみて

private String audioFile = "src/audio/retrolevel.wav";

私は日食でそれを試したことを覚えておいてください。Eclipsesrcでは、デフォルトのソース フォルダーです。netbeans で別の名前が付けられている場合は、変更してください。基本的にパスの上記のディレクトリを文字列に追加しました。

于 2013-08-27T12:09:37.807 に答える