音を再生する簡単なアプリケーションを作ろうとしています。私のJavaプロジェクトにsound.wavという名前のサウンドファイルがあります(eclipse btwを使用)。サウンドファイルに移動する方法がわかりません。問題は、コードを介してサウンドファイルに移動する方法がわからないことです。私が実行しているものは、nullポインタ例外をスローします。そのファイルは存在しません。これまでの私のコードは次のとおりです。
private static Sound sound;
public static void main(String[] args) {
JFrame j = new JFrame("Sound");
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
j.setSize(300, 150);
sound = new Sound("/Users/Chris/Desktop/Workspace/Sound/sound.wav");
//this is the problem line
JButton play = new JButton("Play");
play.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sound.play();
}
});
j.add(play,BorderLayout.SOUTH);
j.setVisible(true);
}
これが私のサウンドクラスのコードです:
private AudioClip clip;
public Sound(String fileName) {
try {
clip = Applet.newAudioClip(Sound.class.getResource(fileName));
}
catch (Exception e) {
e.printStackTrace();
}
}
public void play() {
try {
new Thread(){
public void run() {
clip.play();
}
}.start();
}
catch (Exception e) {
e.printStackTrace();
}
}