我正在制作一款应用程序,我需要使用iPhone的内置麦克风在房间里听到非常微弱的声音。
如何让AVAudioRecorder对小噪音或微弱噪音更敏感?我需要使用的任何设置建议吗?
目前我正在使用它来启动我的AVAudioRecorder
NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsDir = [dirPaths objectAtIndex:0];
NSString *soundFilePath = [docsDir stringByAppendingPathComponent:str2];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
NSDictionary *recordSettings = [NSDictionary
dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:AVAudioQualityHigh],
AVEncoderAudioQualityKey,
[NSNumber numberWithInt:16],
AVEncoderBitRateKey,
[NSNumber numberWithInt: 2],
AVNumberOfChannelsKey,
[NSNumber numberWithFloat:44100.0],
AVSampleRateKey,
nil];
NSError *error = nil;
audioRecorder = [[AVAudioRecorder alloc]
initWithURL:soundFileURL
settings:recordSettings
error:&error];
if (error)
{
NSLog(@"error: %@", [error localizedDescription]);
}
else
{
[audioRecorder prepareToRecord];
}
if (!audioRecorder.recording)
{
[audioRecorder record];
}
答案 0 :(得分:0)
您必须为 AVAudioRecorder
设置以下属性 - (float)peakPowerForChannel:(NSUInteger)channelNumber
正在录制的声音的当前峰值功率(以分贝为单位)。返回值0 dB表示满量程或最大功率;返回值-160 dB表示最小功率(即接近静音)。
如果提供给录音机的信号超过±满量程,则返回值可能超过0(即可能进入正范围)。