Mega Code Archive

 
Categories / Java / 2D Graphics GUI
 

Do Audio Capture

/* Java Media APIs: Cross-Platform Imaging, Media and Visualization Alejandro Terrazas Sams, Published November 2002,  ISBN 0672320940 */ import javax.media.*; import javax.media.format.*; import javax.media.protocol.*; public class DoAudioCapture {   public static void main(String[] args) {     Location2Location capture;     CaptureDeviceInfo audioDevice;     MediaLocator audioLocation;     MediaLocator destination;     audioDevice = CaptureDeviceManager.getDevice("DirectSoundCapture");     audioLocation = audioDevice.getLocator();     Format[] format = new Format[1];     format[0] = new AudioFormat(AudioFormat.LINEAR);     ContentDescriptor container = new ContentDescriptor(         FileTypeDescriptor.WAVE);     destination = new MediaLocator(         "file://d:\\jmf\\book\\media\\capturedSound.wav");     capture = new Location2Location(audioLocation, destination, format,         container, 1.0);     System.out.println("Started recording...");     capture.setStopTime(new Time(10.0));     int waited = capture.transfer(35000);     int state = capture.getState();     System.out.println("Waited " + waited + " milliseconds. State now "         + state);     waited /= 1000;     while (state != Location2Location.FINISHED         && state != Location2Location.FAILED) {       try {         Thread.sleep(10000);       } catch (InterruptedException ie) {       }       System.out.println("Waited another 10 seconds, state = "           + capture.getState());       waited += 10;     }     System.out.println("Waited a total of " + waited + " seconds");     System.exit(0);   } }