public FuncionalidadSonido(String pTipoSonido) throws IOException {
if(pTipoSonido == null){
return;
}
// inn = new InputStream[3];
if (pTipoSonido.equals("error")) {
// in = new
// FileInputStream(getClass().getResource("/sonidos/dialogo-error.wav").toString());
in = new FileInputStream("src/sonidos/dialogo-error.wav");
} else if (pTipoSonido.equals("dialogo")) {
// in = new
// FileInputStream(getClass().getResource("/sonidos/dialog-pregunta.wav").toString());
in = new FileInputStream("src/sonidos/dialog-pregunta.wav");
} else if (pTipoSonido.equals("boton")) {
// in = new
// FileInputStream(getClass().getResource("/sonidos/boton.wav").toString());
in = new FileInputStream("src/sonidos/boton.wav");
} else if (pTipoSonido.equals("inicio")) {
// in = new
// FileInputStream(getClass().getResource("/sonidos/inicio.wav").toString());
in = new FileInputStream("src/sonidos/inicio.wav");
} else {
// in = new
// FileInputStream(getClass().getResource("/sonidos/boton.wav").toString());
in = new FileInputStream("src/sonidos/boton.wav");
}
as = new AudioStream(in);
}
public void run() {
AudioPlayer.player.start(as);
}
/**
* sustituye al metodo stop que esta deprecated. El thread sigue funcionando
* pero el sonido se corta.
*/
public void pararActual() {
AudioPlayer.player.stop(as);
}
public void sonidoBoton() {
try {
new FuncionalidadSonido("boton").start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void sonidoError() {
try {
new FuncionalidadSonido("error").start();
} catch (IOException e) {
e.printStackTrace();
}
}
public void sonidoDialogo() {
try {
new FuncionalidadSonido("dialogo").start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void sonidoInicial() {
try {
new FuncionalidadSonido("inicio").start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Clase
public class Prueba{
FuncionalidadSonido fs;
public Prueba(){
fs = new FuncionalidadSonido(null);
}
...
//Hacer que suene el sonido del boton
fs.sonidoBoton(); // Se creara un thread con el sonido del boton.
//Hacer que suene un error
fs.sonidoError();
}