jueves, 1 de marzo de 2012

Reproducir sonidos al pasar el Mouse [Java]


Hoy les traigo una formafácilde darle efectos de sonidos a los botones en nuestras aplicaciones o alo que ustedes gusten, pero primero veremos unos conceptos para entender la sintaxis que hace posible reproducir un fichero demúsica o sonido.
Clip
representa un tipo especial de dato,cuyos datos son de audio y puede ser cargado antes de lareproducción, en lugar de ser ejecutado en tiempo real debido que los datosestánya pre cargados.
InputStream
representa un flujo de entrada de bytes

Métodopara reproducir el fichero de sonido
 public void reproducir_sonidos(String nom)
{
InputStream pat = getClass().getResourceAsStream("/sonido/"+nom);
try
{
sonido=AudioSystem.getClip();
sonido.open(AudioSystem.getAudioInputStream(pat));
sonido.start();
}catch(Exception fallo){
System.out.println("ERROR "+" "+fallo);
}
}


con estemétodohacemos posible lareproducción, elmétodorecibeunparámetroString que seria el nombre del fichero junto con la extencion en este caso .wav, para ser recibido delInpurStream como ruta completa de donde se encuentra el fichero ,elgetAudioInputStreamobtiene la ruta de entrada del fichero de audio,elopen abre esta entrada y reproduce el fichero.
En la reproduccion de los sonidos al pasar el mouse solo se utiliza los eventos de mouse comomouseEnteredymouseExited

Si lo imaginas,lo programas

6 comentarios:

  1. oye una pregunta.. existe algun otro metodo parecido al InputStream pero para reproducir mp3.. si si porfa avisame y te estare eternamente agradecido

    ResponderEliminar
  2. Oye disculpa, tengo un problema al generar mi el .jar de mi proyecto.
    Resulta que al ejecutar el progrmam dentro de netbeans si me repruduce el sonido pero al momento de generar el .jar, me envia esta exepcion en la consola de netbeans:

    warning: [options] bootstrap class path not set in conjunction with -source 1.6
    1 warning

    que dice que los codigos no coinciden o algo asi y al ejecutar el .jar no me repruduce los sonidos que tengo en los botones.
    Me podrias decir porfavor que es lo que tengo que hacer????

    ResponderEliminar
  3. Que tal Alejandro, veras si exite otra forma de reproducir sonido en java tienes que utilizar las librerias JMF, por motivos de tiempo no he hecho un ejemplo mas complejo como un reproductor de sonido o un reproductor de video, pues segun tengo entendido es depende como estes generando el jar, ay te dice tienes un warning trata de buscarlo en tu proyecto por lo general son las lineas marcadas de amarillo,ademas en netbeans es mucho mas fácil generar un jar por lo que no te deberia de dar problemas,si tengo algo de tiempo te hago un ejemplo con la libreria JMF saludos :)

    ResponderEliminar
  4. cual es la clave del archivo brother y conoces alguna manera de reproducir flash en java ide netbeans

    ResponderEliminar
  5. la contraseña es javaface, pero no recuerdo que este posee contraseña, y con tu pregunto si hay manera de reproducir archivos flash es con una librería si tengo algo de tiempo te hago un ejemplo amigo :)

    ResponderEliminar
  6. ola disculpa mira tengo un proyecto y quiero ingresarle efectos de sonido justo cuando le de clic al boton o cuando ingrese algun valor no se si me pudieran ayudar

    ResponderEliminar