##
SONIDO EN JAVA

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).

### Reproducción de sonido

La forma más fácil de reproducir sonido es a través del método play():

    play( URL directorioSonido,String ficheroSonido );

o, simplemente:

    play( URL unURLdeSonido );

Un URL común para el método play() es el directorio donde está el fichero HTML. Se puede acceder a esa localización a través del método getDocumentBase() de la clase Applet:

    play( getDocumentBase(),"sonido.au" );

para que esto funcione, el fichero de la clase y el fichero `sonido.au` deberían estar en el mismo directorio.

En el applet Sonido.java, podemos ver el ejemplo completo. Su ponemos en él la existencia del fichero `sonidos/gong.au`:

    import java.awt.Graphics;
    import java.applet.Applet;

    public class Sonido extends Applet {

        public void paint( Graphics g ) {
            g.drawString( "Prueba de Sonido",25,25 );
            play( getDocumentBase(),"sonidos/gong.au" );
            }
        }

### Reproducción Repetitiva

Se puede manejar el sonido como si de imágenes se tratara. Se pueden cargar y reproducir más tarde.

Para cargar un clip de sonido, se utiliza el método getAudioClip():

    AudoClip sonido;
    sonido = getAudioClip( getDocumentBase(),"risas.au" );

Una vez que se carga el clip de sonido, se pueden utilizar tres métodos:

    sonido.play();

> para reproducir el clip de sonido.

    sonido.loop();

> para iniciar la reproducción del clip de sonido y que entre en un blucle 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.

Veamos como en el applet Bucle.java utilizamos estos métodos para repetir automáticamente una pista de audio.

    import java.awt.Graphics;
    import java.applet.Applet;

    public class Bucle extends Applet {
        AudioClip sonido;

        public void init() {
            sonido = getAudioClip( getDocumentBase(),"sonidos/risas.au" );
            }

        public void paint( Graphics g ) {
            g.drawString( "Prueba de Repetición",25,25 );
            }

        public void start() {
            sonido.loop();
            }

        public void stop() {
            sonido.stop();
            }
        }

Y, finalmente, el applet ControlSonido.java, nos permite a través de una interface basada en botones, poder controlar la reproducción de audioclips. El checkbox de carga se usa como indicador para saber cuando el fichero que contiene el clip de sonido a reproducir, se encuentra ya cargado en el sistema.

> Tu navegador no entiende la marca <APPLET>. La imagen siguiente es la reproducción de la apariencia del applet en pantalla:

|  | ##### [Anterior] [Indice] [Siguiente]