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

miércoles, 3 de marzo de 2010

Grabación de sonido desde el micrófono.

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)

Con la tecnología de Blogger.