Está en la página 1de 4

VI.

Desarrollo de Applets / aplicaciones con uso


de base de datos, redes, Servlets y multimedia

Sonido

Los programas en Java pueden manipular y reproducir clips de audio creados por uno mismo
o bien alguno de los que se encuentran en Internet.

Los formatos de audio que se pueden emplear son varios entre ellos están los siguientes:

 .au Formato de audio empleado en el sistema Unix de SUN Microsystems y Next.


También funciona como estándar acústico para el lenguaje JAVA.

 .wav Es un formato de audio normalmente sin compresión de datos que fue


desarrollado y es propiedad de Microsoft y de IBM que se utiliza para almacenar
sonidos en la computadora.

 .mid Musical Instrument Digital Interface es un protocolo industrial estándar que


permite a computadoras, sintetizadores, secuenciadores y controladores a
comunicarse y compartir información.

 .aif Audio Interchange File Format es un tipo de archivo de música para


computadora que fue desarrollado por Apple Computer y Electronic Arts el cual
se utiliza en computadoras Macintosh.

Java proporciona varios mecanismos para reproducir sonido desde un applet.

Los dos métodos más simples son: el método play() de Applet y el método play() de
AudioClip.

Play de Applet

El método play() de Applet carga el sonido solo una vez y lo reproduce. Después de eso se
marca para ser tomado por el recolector de basura.

El método tiene dos formas:

void play (URL ubicación, String nombreArchivoSonido);


void play (URL urlSonido);

Play de Applet con archivo

La primera de ellas carga el clip de audio almacenado en el archivo nombreArchivoSonido


que se encuentra en la ubicación y reproduce el sonido.

El primer argumento es generalmente una llamada a getDocumentBase de Applet.

Ejemplo:

play ( getDocumentBase(), “sonido.au”);

La siguiente aplicación carga y reproduce el sonido del archivo “sonido.au” que se encuentra
ubicado junto a ella:

import java.applet.*;

public class SonidoFile extends Applet {


public void init() {
play(getDocumentBase(), "sonido.au");
}
}

Play de Applet con URL

La segunda forma de play requiere el URL en el que se encuentra el sonido que será cargado
y reproducido.

En el siguiente ejemplo se puede ver la forma en la que se utiliza play al cual se le debe
pasar un URL. En este caso es necesario utilizar el manejo de excepciones para la excepción
MalformedURLException. Al ejecutar el applet se carga de la página de Internet el URL y
se reproduce.

import java.applet.*;
import java.net.*;

public class SonidoURL extends Applet {


public void init() {
URL url;
try {
url = new URL("http://rtgamer.free.fr/rmk/Sound/mer1.wav");
} catch (MalformedURLException e) {
return;
}
play(url);
}
}

Play de AudioClip

Esta técnica es más flexible que la anterior. Un applet puede utilizar un objeto AudioClip
para almacenar audio que se use varias veces a lo largo de la ejecución del programa.

El método getAudioClip de Applet tiene dos formas que utilizan los mismos argumentos del
método play discutido anteriormente.

Este método devuelve una referencia AudioClip. Un objeto AudioClip tiene tres métodos:

 play Reproduce el audio una sola vez.


 loop Reproduce continuamente el audio en segundo plano

 stop Termina el audio que se está reproduciendo en ese momento.

La siguiente aplicación reproduce un sonido repetidamente utilizando un objeto de tipo


AudioClip:

import java.applet.*;

public class SonidoRepetido extends Applet implements Runnable {


AudioClip sonido;
Thread miThread;
public void init() {
sonido = getAudioClip(getDocumentBase(), "welcome.wav");
}
public void start() {
if (miThread == null) {
miThread = new Thread(this);
miThread.start();
}
}
public void stop() {
if (miThread!= null) {
if (sonido != null) {
sonido.stop();
sonido = null;
}
miThread.stop();
miThread = null;
} }
public void run() {
if (sonido != null) {
sonido.loop();
}
}
}

También podría gustarte