This snippet captures audio from a given source and saves it to a file with android.media.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();
No comments:
Post a Comment