Galera, ao executar o tocador de som abaixo, ocorre o seguinte erro:
Exception in thread “main” java.lang.NullPointerException
at Sound.play(Sound.java:35)
at UsaSom.main(UsaSom.java:8)
Trata-se de aplicação Java SE desktop (não web - o arquivo de som está numa pasta local, não numa URL)
Eis o tocador de som, bem simples:
import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
public class Sound {
private Clip clip;
public Sound(String fileName) {
try {
File soundFile = new File(fileName);
AudioInputStream audioIn = AudioSystem.getAudioInputStream(soundFile);
Clip clip = AudioSystem.getClip();
clip.open(audioIn);
clip.start();
}
catch (UnsupportedAudioFileException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (LineUnavailableException e) {
e.printStackTrace();
}
}
public void play(){
clip.start();
}
public void loop(){
clip.loop(Clip.LOOP_CONTINUOUSLY);
}
public void stop(){
clip.stop();
clip.close();
}
}
E eis a classe chamadora de teste:
public class UsaSom {
public static void main(String[] args) {
Sound musica = new Sound("C:\\SomPercussaoRapida.wav");
musica.play();
}
}
Desde já agradeço pela força!