0

私は、単純な小さな Java ゲームにサウンドトラックを追加しようとしています。コンパイルできるコードがある範囲で、その方法を調査しました。ただし、実行すると FileNotFound 例外が発生します。私は Eclipse を使用しており、私の wav ファイルは .class ファイルと同じディレクトリにあります。

ここに私の例外があります:

java.io.FileNotFoundException: bach.wav (そのようなファイルまたはディレクトリはありません)

そして、音楽プレーヤーの私のコード:

public static void play()
{
  try
  {
      Clip clip = AudioSystem.getClip();
      clip.open(AudioSystem.getAudioInputStream(new File("bach.wav")));
      clip.start();
  }
  catch (Exception exc)
  {
      exc.printStackTrace(System.out);
  }
 }
4

3 に答える 3

2

AudioSystem.getAudioInputStream受け取るオーバーロードされたメソッドがありURLます。これは、必要に応じてバッファリングされたストリームを使用します。ファイルはクラスファイルと同じ場所にあるため.wav、次を使用できますgetResource

AudioSystem.getAudioInputStream(getClass().getResource("bach.wav"));

そのまま必要になりますplaystatic

AudioSystem.getAudioInputStream(MyClass.class.getResource("bach.wav"));
于 2012-12-13T01:19:59.210 に答える
1

new File("bach.wav")src フォルダーと bin フォルダーがあるプロジェクトのルート フォルダーにファイルを配置する必要があると言うとき

于 2012-12-13T01:19:20.283 に答える
0

変更してみてください:

new File("bach.wav")

に:

new File("bach.wav").getAbsolutePath()
于 2012-12-13T01:24:49.367 に答える