[codigo] Cargar y reproducir audio en Java
En esta ocasión explicaré un sencillo ejemplo de reproducción de audio en Java, tomado del libro How-to program in Java de Deitel. La clase que utilizamos para este tipo de propósitos es AudioClip, que posee tres simples métodos:
- play(), para reproducir una vez el archivo que le tengamos asociado
- loop(), para reproducir indefinidamente el archivo que le tengamos asociado
- stop(), para detener el sonido que se está reproduciendo
Para iniciar un objeto AudioClip utilizamos el método getAudioClip, de la clase Applet, de la siguiente manera: getAudioClip(getDocumentBase(),”archivo.wav”).
El resultado…

El código…
// Cargar un clip de audio y reproducirlo.
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CargarAudioYReproducir extends JApplet {
private AudioClip sonido1, sonido2, sonidoActual;
private JButton reproducirSonido, sonidoContinuo, detenerSonido;
private JComboBox seleccionarSonido;
// cargar la imagen cuando el subprograma empiece a ejecutarse
public void init()
{
Container contenedor = getContentPane();
contenedor.setLayout( new FlowLayout() );
String opciones[] = { "Welcome", "Hi" };
seleccionarSonido = new JComboBox( opciones );
seleccionarSonido.addItemListener(
new ItemListener() {
// detener sonido y cambiarlo por el que seleccionó el usuario
public void itemStateChanged( ItemEvent e )
{
sonidoActual.stop();
sonidoActual =
seleccionarSonido.getSelectedIndex() == 0 ? sonido1 : sonido2;
}
} // fin de la clase interna anónima
); // fin de la llamada al método addItemListener
contenedor.add( seleccionarSonido );
// establecer botones y manejador de eventos de botón
ButtonHandler manejador = new ButtonHandler();
reproducirSonido = new JButton( "Reproducir" );
reproducirSonido.addActionListener( manejador );
contenedor.add( reproducirSonido );
sonidoContinuo = new JButton( "Continuo" );
sonidoContinuo.addActionListener( manejador );
contenedor.add( sonidoContinuo );
detenerSonido = new JButton( "Detener" );
detenerSonido.addActionListener( manejador );
contenedor.add( detenerSonido );
// cargar sonidos y establecer sonidoActual
sonido1 = getAudioClip( getDocumentBase(), "welcome.wav" );
sonido2 = getAudioClip( getDocumentBase(), "hi.au" );
sonidoActual = sonido1;
} // fin del método init
// detener el sonido cuando el usuario cambie de página Web
public void stop()
{
sonidoActual.stop();
}
// clase interna privada para manejar eventos de botón
private class ButtonHandler implements ActionListener {
// procesar eventos de reproducir, sonido continuo y detener
public void actionPerformed( ActionEvent eventoAccion )
{
if ( eventoAccion.getSource() == reproducirSonido )
sonidoActual.play();
else if ( eventoAccion.getSource() == sonidoContinuo )
sonidoActual.loop();
else if ( eventoAccion.getSource() == detenerSonido )
sonidoActual.stop();
}
} // fin de la clase ButtonHandler
} // fin de la clase CargarAudioYReproducir
Los ejercicios utilizados en este post están basados en ejemplos del libro Cómo programar en Java de Deitel, y por lo tanto están bajo la licencia que esta editorial disponga.
43 Comentarios | deja el tuyo





Y si quiero reproducir archivos mp3???
http://www.cs.princeton.edu/introcs/faq/mp3/mp3.html
Saludos!!! cuando ejecuto la pagina y el script de java; en la pagina me marca un navegador lo intente en explorer y en mozilla
Espero su respuesta
gracias!!!
Ya vi el por que de todos modos grax
Un buen aporte
HOla mi duda es sobre si con este codigo poria yo simular como la reproduccion de desibeles mas o menos para las otoemisiones acusticas
necesito saber informacion acerca del uso de la clase sessionaddres en java (netbeans) implementado en un programa para capturar audio
Que bien!!
Esto era lo que estaba buscando!!
Gracias
Es presisamente lo q estaba buscando gracias
Orale
gracias por el aporte
me sirvio un chingo
Se puede implemetar para un juego??
hola casidiablo
quisiera saber
coo puedo
llamar a una imagen con un jfilechooser
y mostrar lo como fondo en un panel
gracias
si puedes colgar algun archivo
Aquí puedes encontrar ejemplso de ambas cosas:
http://casidiablo.net/java
Un saludo.
Justo lo que estaba buscando pero mira.. creo q java solo puede reproducir un solo tipo de archivos ya que ahora estoy intentando y no funca con una cancion
saludos y gracias por compartir la aplicacion con nosotros newbies…
OMG gracias viejo hace rato andaba buscando alguien como tu, sigue subiendo cosas por el estilo, te felicito
Me gusta la programacion,y quisiera aprender mas,.Yo estudio en la universidad de camaguey en Cuba.El lenguage de programacion que uso es Java.