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 に答える