1

私はJavaで小さなゲームを作っています。このゲームでは、サウンドを追加しました。そのため、すべての画像と音声ファイルを jar に入れたいと考えています。写真の場合、これは簡単でした:

new ImageIcon(Main.class.getResource("images/machgd2.png")).getImage()

しかし、オーディオの場合、Eclipseでプログラムを実行した場合にのみ機能し、jarからは機能しません。私が使う:

File soundFile = new File(Main.class.getResource(filename).getFile());

では、.jar ファイル内からこのファイルを取得するにはどうすればよいでしょうか。

アップデート:

OK、Andrew のおかげでうまくいきました! サウンドを再生するために、ネットで見つけたクラスを使用しました。そのクラスは File を使用して AudioInputStream を取得するだけであることがわかったので、File のものを削除しました。

4

2 に答える 2

5

jarファイルだとファイルシステム上のファイルじゃないですよね?ファイルをjarファイルから一時的な場所にコピーするか、ファイルを必要としないAPIを使用する必要があります(たとえば、またはのみを必要とするもので、InputStreamどちらURLもまたはを使用してjarファイルから簡単に利用できますgetResourceAsStream) 。 getResource.)。

どこで使用しているsoundFileかを示していません。使用しようとしている API を教えていただければ、適切な代替案を提案することができます。

于 2011-12-18T08:49:32.160 に答える