Android Record Audio issue
-
30-09-2019 - |
Question
I found the code to record audio, 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?
// 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();
Solution
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.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow