Cargando

Ir a contenido

X


Ver Más! HP lanza su gama de impresoras HP OffiJet pro. Una solución interesante para las necesidades de impresión en la oficina, con el ahorro por bandera y un sistema de reposición de tinta más que interesante. ¿Te lo vas a perder?


 


Reproducción de sonidos en Java

En este tutorial veremos cómo podemos incluir archivos de audio y que se reproduzcan en nuestros programas hechos en Java de forma de lograr una mayor riqueza multimedia y una mayor complejidad de nuestras interfaces.


Escrito por el nov 15 2014 05:46


Una experiencia de usuario completa no solo requiere de gráficos y animaciones, aunque sean los componentes vitales, también hay otro elemento que nos puede ayudar a mejorar nuestras interfaces y este es el sonido.

Utilizando el sonido en nuestras aplicaciones podemos enviar alertas de diferentes tipos, complementar acciones que se ejecuten, etc. Esto nos puede ayudar a establecer mejores interfaces además que la experiencia de usuario se enriquece.

Formatos soportados


Antes de empezar a ver cómo hacer para incluir audio debemos estar informados que tipos de archivos podremos incluir, de esta manera nos evitaremos problemas como la no reproducción del audio y así ahorrarnos un tiempo considerable de desarrollo.

Los formatos disponibles son: WAV, AIFF, MIDI, AU y RMF, como vemos no son formatos muy populares dentro del ámbito de la música a excepción de WAV, sin embargo sus tipos de compresiones nos ayudaran a mantener el peso de nuestro programa bajo, excluyendo nuevamente el formato WAV.

Como incorporar un archivo de audio


Una vez que conocemos que formatos podemos utilizar, ya podemos empezar a ver cómo debemos construir nuestro programa para que pueda reproducir audio, para ello nos vamos a valer de la clase java.applet.Applet que tiene un método llamado newAudioClip() que nos facilita esta tarea.

Una vez que establecemos un archivo de audio podemos manipular su reproducción en nuestro programa, para ello tenemos tres métodos que nos ayudan en esta tarea.

play()
Este método nos permite iniciar la reproducción del archivo, sin embargo una vez que finaliza el audio este se detiene.

loop()
Este método al igual que play() inicia la reproducción del audio, pero con una diferencia una vez que el audio finaliza vuelve a reproducirse desde el inicio en un bucle sin fin a menos que digamos lo contrario.

stop()
Finalmente tenemos este método que nos permite detener la reproducción del audio, con esto podemos detener un audio reproducido tanto por play() como por loop().


Ahora vamos a hacer la aplicación de todos estos fundamentos, en la siguiente imagen tenemos el código correspondiente a la reproducción de un archivo de audio, veamos:

java-reproducir-sonido.jpg


Lo primero que hacemos es obtener la ruta de nuestro archivo, en el caso del ejemplo el archivo está en el mismo directorio que nuestro programa, sin embargo si no fuese así debemos colocar su ruta absoluta. Acto siguiente creamos un objeto de la clase AudioClip y a través del método de Applet newAudioClip() le pasamos la ruta de nuestro archivo que generamos inicialmente.

Por último sobre el objeto podemos aplicar otros métodos, como en este caso que utilizamos loop() para que sea una reproducción sin fin. En caso que deseemos reproducir un nuevo archivo de audio debemos asegurarnos de detener el sonido anterior para que así todo esté en orden.

Con esto finalizamos este tutorial, como vemos la reproducción de audio es algo muy sencillo y que nos puede ayudar a agregar nuevas dimensiones a nuestros programas, en cuanto a los formatos, si es posible reproducir otros formatos como MP3, sin embargo debemos ubicar clases y paquetes externos que nos ayuden a decodificar dichos formatos.


Tutoriales Relacionados


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!
-
VOTA
5
0%
4
0%
3
0%
2
0%
1
0%

  Información

  •   Publicado nov 15 2014 05:46
  •   Actualizado nov 19 2014 17:55
  •   Visitas 1.2K
  •   Nivel
    Avanzado