2011-05-09 46 views
2

我正在使用此代碼進行錄音設置,但仍然存在一些問題。可以任何幫助我短路這樣的問題..錄音後有很多噪音的錄音文件

NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc] init]; 
[recordSetting setValue:[NSNumber numberWithInt: kAudioFormatLinearPCM]  forKey:AVFormatIDKey]; 
[recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey]; 
[recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey]; 
[recordSetting setValue:[NSNumber numberWithInt: 8] forKey:AVLinearPCMBitDepthKey]; 
[recordSetting setValue:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey]; 
[recordSetting setValue:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey]; 
[recordSetting setValue:[NSNumber numberWithInt:AVAudioQualityHigh] forKey:AVEncoderAudioQualityKey]; 
[recordSetting setValue:[NSNumber numberWithInt:96] forKey:AVEncoderBitRateKey]; 
[recordSetting setValue:[NSNumber numberWithInt:16] forKey:AVEncoderBitDepthHintKey]; 
[recordSetting setValue:[NSNumber numberWithInt:AVAudioQualityHigh] forKey:AVSampleRateConverterAudioQualityKey]; 

AVAudioRecorder *recorder = [[AVAudioRecorder alloc] initWithURL:fileURL            settings:recordSetting                error:nil]; 
[recorder setDelegate:self]; 
recorder.meteringEnabled = YES; 
[recorder prepareToRecord]; 
[self setAudioRecorder:recorder]; 
[recorder release]; 

我的測試:
我去「記錄你的怒吼」屏幕,然後按記錄。 我在安靜的房間裏呆着,沒有噪音,在我周圍的一切 我就不多說了,持續5秒 什麼當我預覽記錄有很響亮的靜態噪聲

然後我關ShoutOmatic和使用「語音備忘錄「,與iPhone一起做同樣的事情,音質清晰,完美。

+0

我想刪除背景噪音。任何人都可以告訴我,我必須爲此改變什麼設置。 – sandy 2011-05-10 10:38:38

+0

當它靜止時,你還能聽到自己的聲音嗎? – makdad 2011-05-10 17:57:47

+0

是的,我可以聽到我自己的聲音,但這聲音有很多背景noise.I可以刪除這 – sandy 2011-05-11 06:45:28

回答

1

這不是一個確切的解決方案,但它是一個開始。請注意,在AVAudioPlayer上,您沒有設置任何userInfo屬性 - 您將它交給一個文件並說「在這裏你走」。嘗試找到該文件(通過模擬器錄製時)並在iTunes或其他媒體播放器中播放。它有靜態嗎?如果是這樣,您可以確定問題出在錄製中,而不是播放。

第2步,好像你有很多記錄格式的說明符 - 不要害怕使用默認值。我會開始逐一評論一行(當然,檢查錄製是否仍然有效),然後看看你是否無法解決。這可能會告訴你你有什麼相互不兼容的記錄設置。

0

你已經指定了8位音頻 - 16會更好。

對於語音,單聲道也是典型的(您指定了立體聲)。