HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在ios 7中获得麦克风音量?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
一个观点来获得ios 7中的麦克风音量?
NSURL *url = [NSURL fileURLWithPath:@"/dev/null"];

NSDictionary *setTings = [NSDictionary DictionaryWithObjectsAndKeys:
                          [NSnumber numberWithFloat: 44100.0],AVSampleRateKey,[NSnumber numberWithInt: kAudioFormatAppleLossless],AVFormatIDKey,[NSnumber numberWithInt: 0],AVnumberOfChAnnelsKey,[NSnumber numberWithInt: AVAudioQualitymax],AVEncoderAudioQualityKey,nil];

NSError *error;

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

if (recorder) {
    //recorder.delegate = self;
    [recorder prepareToRecord];
    recorder.meteringEnabled = TRUE;
    [recorder record];
    levelTimer = [NSTimer scheduledTimerWithTimeInterval: 0.1 target: self SELEctor: @SELEctor(levelTimerCallBACk:) userInfo: nil repeats: YES];
} else {
    NSLog(@"");// mic error message
}

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

    const double ALPHA = 0.05;
    double peakPowerForChAnnel = pow(10,(ALPHA * [recorder averagePowerForChAnnel:0]));
    db = 20* log10(peakPowerForChAnnel);
    db += taraturaDb;
    db = db < 0 ? 0 : db;
    lowPassResults = ALPHA * peakPowerForChAnnel + (1.0 - ALPHA) * lowPassResults;

    if (lowPassResults < 0.95) {
        NSLog(@"%f",db);
}

这在iOS6中有效,在iOS 7中不起作用

谢谢

解决方法

在初始化AVAudioRecorder之前放置这些行:
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setActive:YES error:nil];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord error:nil];

大佬总结

以上是大佬教程为你收集整理的如何在ios 7中获得麦克风音量?全部内容,希望文章能够帮你解决如何在ios 7中获得麦克风音量?所遇到的程序开发问题。

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

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