0

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

1 回答 1

0

您必须为AVAudioRecorder设置以下属性

 - (float)peakPowerForChannel:(NSUInteger)channelNumber

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

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

检查链接了解更多信息

于 2013-08-13T15:22:51.097 回答