Este código graba audio desde micrófono durante 10 segundos y lo guarda en un archivo de audio llamado "grabacion.wav".
Código Java (GrabarSonido.java):
package grabarsonido;
import java.io.File;
import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.TargetDataLine;
public class GrabarSonido {
AudioFileFormat.Type aFF_T = AudioFileFormat.Type.WAVE;
AudioFormat aF = new AudioFormat(8000.0F, 16, 1, true, false);
TargetDataLine tD;
File f = new File("grabacion.wav");
public GrabarSonido() {
try {
DataLine.Info dLI = new DataLine.Info(TargetDataLine.class, aF);
tD = (TargetDataLine) AudioSystem.getLine(dLI);
new CapThread().start();
System.out.println("Grabando durante 10s...");
Thread.sleep(10000);
tD.close();
} catch (Exception e) { }
}
class CapThread extends Thread {
@Override
public void run() {
try {
tD.open(aF);
tD.start();
AudioSystem.write(new AudioInputStream(tD), aFF_T, f);
} catch (Exception e) { }
}
}
public static void main(String[] args) {
new GrabarSonido();
}
}
Resultado:
run:
Grabando durante 10s...
BUILD SUCCESSFUL (total time: 0 seconds)
Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.
Archivo del blog
-
▼
2010
(26)
-
▼
marzo
(9)
- Ejecutar evento al pulsar el botón.
- Crear grupo de botones: ButtonGroup.
- Reproducción de sonidos wav:
- Grabación de sonido desde el micrófono.
- Función con paso de parametros alfanumericos.
- Uso de StringBuffer. reverse (invertir strings).
- Uso de barra de progreso: JProgressBar.
- Ejecutar 2 procedimientos a la vez: Threads
- Uso de tablas JTable. Crear, añadir y modificar.
-
▼
marzo
(9)
-
►
2012
(38)
- ► septiembre (3)
-
►
2020
(12)
- ► septiembre (1)
Suscribirse a:
Enviar comentarios (Atom)
Con la tecnología de Blogger.
mmm buen codigo
ResponderEliminarExcelente muchas gracias !!
ResponderEliminarMaravilloso, lo tome prestado para un proyecto, muchisimas gracias!!! =D
ResponderEliminarExcelente codigo muchas gracias..!!!
ResponderEliminarmuchas gracias, pero como lo reproduzco? si necesito enviarlo por un socket como envio los bits del targetDataLine?
ResponderEliminarEstubo bien! pero le hicieron falta ovnis!!!...
ResponderEliminarMuchas Gracias, muy util
ResponderEliminarcomo puedo modificarlo para hacerlo web
ResponderEliminares decir en jsp?
se agradece muchisimo.
ResponderEliminar@k3rn3
Excelente
ResponderEliminarsaludos quisiera saber por que a mi no me funciona
ResponderEliminarava.lang.IllegalArgumentException: No line matching interface TargetDataLine supporting format PCM_SIGNED 8000.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian is supported.
at javax.sound.sampled.AudioSystem.getLine(AudioSystem.java:476)
at audio.Main.(Main.java:28)
at audio.Main.main(Main.java:52)
Excelente, pero sabes como escoger el micrófono de nuestra preferencia?
ResponderEliminarYo quiero guardar un audio mucho ya me rebusque y no encuentro. Como guardo un MP3 de una carpeta a otra carpeta.
ResponderEliminarCon que tipo de micrófono lo grabaste? sera con micrófono condensador, Saludos
ResponderEliminar