记录后记录文件有很多噪音

时间:2011-05-09 05:38:45

标签: iphone objective-c avaudiorecorder

我正在使用此代码进行记录设置,但我仍有一些问题。能不能帮我把这个问题弄错..

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附带的“语音备忘录”并做同样的事情,音质清晰,完美。

2 个答案:

答案 0 :(得分:1)

这不是一个确切的解决方案,但它是一个开始。请注意,在AVAudioPlayer上,您没有设置任何userInfo属性 - 您正在处理文件并说“在这里”。尝试找到该文件(通过模拟器录制时)并在iTunes或其他媒体播放器中播放。它有静电吗?如果是这样,您确定问题出在录音中,而不是播放。

第2步,似乎你有很多记录格式的说明符 - 不要害怕使用默认值。我开始一次评论一行(当然检查录音仍然有效),看看你是否无法解决它。这可能会告诉你你有什么相互不兼容的记录设置。

答案 1 :(得分:0)

你已经指定了8位音频--16会更好。

对于语音,单声道也是典型的(您指定了立体声)。