Boa tarde,
Estou fazendo um jogo para uma disciplina da faculdade e desenvolvi uma classe (bem simples) para fazer o controle de som. Alguém poderia me ajudar a identificar pq nada toca (obviamente, os arquivos de som estão nas pastas corretas, antes que perguntem). Aí vai o código:
public class SomManager {
public static final int ACERTO = 0, //Constante para o som de acerto,
ERRO = 1, //erro,
VITORIA = 2, //vitória,
DERROTA = 3, //derrota e
BEM_VINDO = 4; //bem-vindo
private static AudioClip acerto, //Som de acerto do navio
erro, //Som de erro do navio
vitoria, //Som de vitoria para um jogador
derrota, //Som de derrota para um jogador
bem_vindo; //Som de bem vindo ao jogo
static{
try{
acerto = Applet.newAudioClip(new File("acerto.wav").toURI().toURL());
erro = Applet.newAudioClip(new File("erro.wav").toURI().toURL());
vitoria = Applet.newAudioClip(new File("vitoria.wav").toURI().toURL());
derrota = Applet.newAudioClip(new File("derrota.wav").toURI().toURL());
bem_vindo = Applet.newAudioClip(new File("welcome.wav").toURI().toURL());
}catch(MalformedURLException excp){
excp.printStackTrace();
}
}
public static void playAudio(int som){
switch(som){
case ACERTO: acerto.play(); break;
case ERRO: erro.play(); break;
case VITORIA: vitoria.play(); break;
case DERROTA: derrota.play(); break;
case BEM_VINDO: bem_vindo.play(); break;
default: JOptionPane.showMessageDialog(null,"Som requisitado não existe");
}
}
}
Pelo que li no site da Sun, sobre a API de som, existe a possibilidade de usar outras classes, mas por se tratar de algo muito simples (fazer um som quando ocorre um acerto ou erro, por exemplo), não vejo a necessidade de algo mais sofisticado.
Agradeço a ajuda desde já
