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

這似乎是一個硬件限制,邁克爾指出。