Para poder reproducir sonidos en java, por ejemplo al presionar un boton, tendremos que agregar el siguiente método en alún lugar de nuestra clase:
- try {
- AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(nombreSonido).getAbsoluteFile());
- clip.open(audioInputStream);
- clip.start();
- }
- }
Luego dejamos que nuestro IDE arregle las importaciones necesarias
- import java.awt.FlowLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.File;
- import java.io.IOException;
- import javax.sound.sampled.AudioInputStream;
- import javax.sound.sampled.AudioSystem;
- import javax.sound.sampled.Clip;
- import javax.sound.sampled.LineUnavailableException;
- import javax.sound.sampled.UnsupportedAudioFileException;
Y ya simplmente ejecutamos el método pasando como parámetro un String con la dirección de directorio del archivo (solo lo he probado con archivos "wav").
Como antes es preferible contar con nuestro archivo dentro "TuEquipo / MisDocumentos/ NetBeansProjects/ TuProyecto/ Tupaquete" que va a ser el String del parametro para que se pueda encontrar y ejecutar el archivo.
Y Por ejemplo al crear una ventana con un boton que reproduzca algun sonido en particular(en la web hay cientos de paginas que brindan sonidos libres de derechos de autor para que puedan ser utilizados por cualquier usuario), en mi caso es un sonido de un disparo... el código es el siguiente:
- import java.awt.FlowLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.File;
- import java.io.IOException;
- import javax.sound.sampled.AudioInputStream;
- import javax.sound.sampled.AudioSystem;
- import javax.sound.sampled.Clip;
- import javax.sound.sampled.LineUnavailableException;
- import javax.sound.sampled.UnsupportedAudioFileException;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- public Sonido(){
- super("Pulse el boton");
- setSize(400,80);
- setLocationRelativeTo(null);
- add(boton1);
- boton1.addActionListener(this);
- setVisible(true);
- }
- new Sonido();
- }
- try {
- AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(nombreSonido).getAbsoluteFile());
- clip.open(audioInputStream);
- clip.start();
- }
- }
- @Override
- if(e.getSource() == boton1){
- ReproducirSonido("src/tiro.wav");
- }
- }
- }
El resultado visual es (no se llega a apreciar el momento de hacer click y escuchar el sonido, pero es asi)
Puedes escuchar y/o descargar el sonido que elegi puedes hacerlo en el siguiente en el enlace









