私のアプリは音声を amr 形式で録音します。一部のデバイスではうまく機能しますが、通話中に音声を録音できないデバイスもあります。録音されたファイルから、録音に問題がないことがはっきりとわかります。電話が鳴り始め、そこから音声がミュートされる瞬間まで、すべてが聞こえます。
これは、ICS 4.0.4 を実行している Samsung GT-I9000 で見られますが、私の htc では問題なく動作します。
レコーダーのセットアップ方法は次のとおりです。
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
final String path = getRecordingAbsPath();
mRecorder.setOutputFile(path);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mRecorder.prepare();
mRecorder.start();