我的应用程序以 amr 格式录制音频。它在某些设备上运行良好,但在其他设备上却无法在通话期间录制音频。从录制的文件中,您可以清楚地看出录制正常,并且您听到所有声音,直到电话开始响铃并且从那里音频静音。
这是在运行 ICS 4.0.4 的三星 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();