我正在使用此代码进行记录设置,但我仍有一些问题。能不能帮我把这个问题弄错..
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 :(得分:1)
这不是一个确切的解决方案,但它是一个开始。请注意,在AVAudioPlayer上,您没有设置任何userInfo属性 - 您正在处理文件并说“在这里”。尝试找到该文件(通过模拟器录制时)并在iTunes或其他媒体播放器中播放。它有静电吗?如果是这样,您确定问题出在录音中,而不是播放。
第2步,似乎你有很多记录格式的说明符 - 不要害怕使用默认值。我开始一次评论一行(当然检查录音仍然有效),看看你是否无法解决它。这可能会告诉你你有什么相互不兼容的记录设置。
答案 1 :(得分:0)
你已经指定了8位音频--16会更好。
对于语音,单声道也是典型的(您指定了立体声)。