4

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

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

1 回答 1

1

您正在尝试将 Uri 作为参数传递给不期望的方法。只需替换recorder.setOutputFile(target)为:

recorder.setOutputFile(outputFile.getAbsolutePath());

这应该可以工作,因为允许字符串参数。

于 2010-08-23T20:01:43.007 回答