Audio en Java
Audio en Java
Sonido
Java también posee métodos
predefinidos para reproducir sonido.
El ordenador remoto no necesita
tener un reproductor de audio; Java
realizará la reproducción
(evidentemente, el ordenador remoto,
en donde se ejecuta el applet,
necesitará disponer de hardware de
sonido).
Ventajas
El Java API de sonido es un bajo nivel de API,
para la realización y el control de la entrada y
salida de sonido de los medios de
comunicación, incluidos los de audio y de
Interfaz digital de instrumentos musicales (MIDI)
de datos. The Java Sound
El Java API de sonido ofrece explícita el control
sobre las capacidades que normalmente se
exige para una buena entrada y salida, en un
marco que promueva la flexibilidad y
extensibilidad.
Posibles áreas de aplicación
Marcos de comunicación, tales como
conferencias y telefonía
Los usuarios finales sistemas de entrega de
contenido, tales como reproductores multimedia
y la música mediante streaming de contenidos
Aplicación de programas interactivos, como
juegos y sitios Web que utilizan contenido
dinámico
La creación de contenidos y edición
Herramientas, manuales y utilidades
En java es posible la aplicación de
sonidos por medio de dos paquetes, el
java.applet y el interface AudioClip para la
aplicación en applets.
Y el paquete javax.sound y la interface
Clip de API Sound de Java para
aplicaciones.
API Sound
Java acepta 2 diferentes tipos de datos de
audio son soportados por la API Java de
sonido:
sonido.play();
para reproducir el clip de sonido.
sonido.loop();
para iniciar la reproducción del clip de sonido y que entre en
un bucle de reproducción, es decir, en una repetición
automática del clip.
sonido.stop();
para detener el clip de sonido que se encuentre en ese
instante en reproducción.
import java.io.File;
import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
sonido.open(AudioSystem.getAudioInputStream(new File("12
Aunque no sea conmigo (Flamingos, Madrid 20-12-02)-
DeVocalized.wav"));
sonido.start();
El programa no debe terminar inmediatamente, puesto
que si lo hace la reproducción se parará inmediatamente.
Por ello, esperaremos hasta que termine. El método
isRunning() de la clase Clip nos dice si todavía se está
reproduciendo, así que haremos un bucle hasta que
termine la reproducción.
while (sonido.isRunning())
Thread.sleep(1000);
sonido.close();