Capture Audio with MediaRecorder

/* Create a MediaRecorder */
recorder = new MediaRecorder();

/* ContentValues include title, timestamp, mime type */
ContentValues values = new ContentValues(3);
values.put(MediaStore.MediaColumns.TITLE, SOME_NAME_HERE);
values.put(MediaStore.MediaColumns.TIMESTAMP, System.currentTimeMillis());
values.put(MediaStore.MediaColumns.MIME_TYPE, recorder.getMimeContentType());

/* Create entry in the content database */
ContentResolver contentResolver = new ContentResolver();
Uri base = MediaStore.Audio.INTERNAL_CONTENT_URI;
Uri newUri = contentResolver.insert(base, values);

if (newUri == null) {
    /* Handle exception here - not able to create a new content entry */
}

/* Receive the real path as String */
String path = contentResolver.getDataFilePath(newUri);

/* Set Audio Source, Format, Encode and File */
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path);

/* Prepare the Recorder */
recorder.prepare();

/* Start Recording */
recorder.start();

/* ... */

/* Stop Recording Again */
recorder.stop();
recorder.release();

3 Comments

#
Hetal Patel - April 20, 2009 at 8:12 p.m.

Well is there any Way to Record Incomming Call Recording

#
greg - October 11, 2009 at 10:11 p.m.

This doesn't work anymore

#
Ganesh Pisal - January 28, 2010 at 12:50 p.m.

This does not work.

Add a Comment