HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在iphone中检测来自麦克风而不是语音的打击?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用此代码来检测打击.

但我不能受到打击.我有声音

NSURL *url = [NSURL fileURLWithPath:@"/dev/null"];
NSDictionary *setTings = [NSDictionary DictionaryWithObjectsAndKeys:

                          [NSnumber numberWithFloat: 44100.0],AVSampleRateKey,[NSnumber numberWithInt: kAudioFormatAppleLossless],AVFormatIDKey,[NSnumber numberWithInt: 1],AVnumberOfChAnnelsKey,[NSnumber numberWithInt: AVAudioQualitymax],AVEncoderAudioQualityKey,nil];

NSError *error;

recorder = [[AVAudioRecorder alloc] initWithURL:url setTings:setTings error:&error];

if (recorder) {
    [recorder prepareToRecord];
    recorder.meteringEnabled = YES;
    [recorder record];

    levelTimer = [NSTimer scheduledTimerWithTimeInterval: 0.3 target: self SELEctor: @SELEctor(levelTimerCallBACk:) userInfo: nil repeats: YES];
} else
    NSLog(@"error %@",[error description]);

但声音没有打击.

解决方法

你必须要玩低通结果.试试这个:

- (void)levelTimerCallBACk:(NSTimer *)timer {
    [recorder updateMeters];

    const double ALPHA = 0.05;
    double peakPowerForChAnnel = pow(10,(0.05 * [recorder peakPowerForChAnnel:0]));
    lowPassResults = ALPHA * peakPowerForChAnnel + (1.0 - ALPHA) * lowPassResults;  
    //NSLog(@"%f",lowPassResults);
    if (lowPassResults > 0.55)
        NSLog(@"Mic blow detected");
}

大佬总结

以上是大佬教程为你收集整理的如何在iphone中检测来自麦克风而不是语音的打击?全部内容,希望文章能够帮你解决如何在iphone中检测来自麦克风而不是语音的打击?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。