0

我的应用程序以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(); 
+0

可能重复http://stackoverflow.com/questions/11776366/audio-recorded-from-microphone-is-muted-during-the-voice-call/ – Michael 2012-08-09 09:05:12

+0

是的,它似乎是一个类似的问题,但我看到他们只是假设它的platfomr依赖。我想知道我应该如何在三星设备上录制音频而不存在此问题。我愿意将格式从amr更改为其他内容。 – 2012-08-09 09:38:00

+1

正如我在回答其他问题时所写的那样,在某些设备上可能根本无法实现。我已经在一系列Android手机上开发了音频HAL,因此这不仅仅是一个空洞的假设。成功机会最大的格式(除已经尝试过的AMR_NB外)可能是8 kHz单声道16位PCM。 – Michael 2012-08-09 09:42:33

回答

0

这似乎是一个硬件限制,迈克尔指出。