AVAudioRecorder灵敏度增加

时间:2013-08-13 15:08:08

标签: iphone ios avaudiorecorder

我正在制作一款应用程序,我需要使用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];
    }

1 个答案:

答案 0 :(得分:0)

您必须为 AVAudioRecorder

设置以下属性
 - (float)peakPowerForChannel:(NSUInteger)channelNumber

正在录制的声音的当前峰值功率(以分贝为单位)。返回值0 dB表示满量程或最大功率;返回值-160 dB表示最小功率(即接近静音)。

如果提供给录音机的信号超过±满量程,则返回值可能超过0(即可能进入正范围)。

Check Link For More Info