JavaアプリケーションでBGMを流したい。 (getResource() が null を返す)
Java アプリケーションで BGM を流したいと思い、次のクラスを作りました。
import java.applet.Applet;
public class Sound {
java.applet.AudioClip ac;
public Sound() {
// TODO 自動生成されたコンストラクター・スタブ
ac = Applet.newAudioClip(getClass().getClassLoader().getResource("res/BGMn.wav"));
}
public void loop(){
ac.loop();
}
public void stop(){
ac.stop();
}
public void play(){
ac.play();
}
}
しかし、 main スレッドで呼び出したところ、次のようなエラーが出てしまいました。
Exception in thread "main" java.lang.NullPointerException
at sun.applet.AppletAudioClip.<init>(Unknown Source)
at java.applet.Applet.newAudioClip(Unknown Source)
at boss.Sound.<init>(Sound.java:9)
at boss.Main.init(Main.java:68)
at boss.Main.main(Main.java:45)
getResource()
のパスが間違っていると思われるのですが、いろいろ試してみてもできませんでした。 パスには何を指定すれば良いのでしょうか。
ディレクトリ構造:
Project
src
package
Main.java
Sound.java
res
BGMn.wav
.classpath:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>