tags:

views:

38

answers:

1

Hi. i found that code to record, but I always get:

The method setOutputFile(FileDescriptor) in the type MediaRecorder is not applicable for the arguments (Uri)

So how would I need to describe the filepath that it works? thx

// Prepare recorder source and type
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

// File to which audio should be recorded
File outputFile = getFileStreamPath("output.amr");
Uri target = Uri.parse(outputFile.getAbsolutePath());
recorder.setOutputFile(target);

// Get ready!
recorder.prepare();

// Start recording
recorder.start();

// Stop and tidy up
recorder.stop();
recorder.release();
+1  A: 

You're trying to pass in an Uri as parameter to the method which doesn't expect that. Just replace recorder.setOutputFile(target) with:

recorder.setOutputFile(outputFile.getAbsolutePath());

That should work since string parameter is allowed.

Konstantin Burov
thx, thats it :)
christian Muller