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