Android录制音频问题

Android录制音频问题,android,android-audiomanager,Android,Android Audiomanager,我找到了录制音频的代码,但我总是得到: MediaRecorder类型中的方法setOutputFile(FileDescriptor)不适用于参数(Uri) 那么,我需要如何描述它工作的文件路径呢 // Prepare recorder source and type MediaRecorder recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.set

我找到了录制音频的代码,但我总是得到:

MediaRecorder类型中的方法setOutputFile(FileDescriptor)不适用于参数(Uri)

那么,我需要如何描述它工作的文件路径呢

// 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();

您正试图将Uri作为参数传递给方法,而该方法并不期望这样。 只需将记录器.setOutputFile(目标)替换为:

recorder.setOutputFile(outputFile.getAbsolutePath());
因为允许使用字符串参数,所以应该可以这样做