OGeek|极客世界-中国程序员成长平台

标题: ios - 为什么averagePowerForChannel 总是返回-160? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 08:46
标题: ios - 为什么averagePowerForChannel 总是返回-160?

我有这些代码,两个方法调用都是成功的。

AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory: AVAudioSessionCategoryPlayAndRecord error: NULL];
[audioSession setActive: YES error: NULL];

这些代码开始录制:

[self.recorder prepareToRecord];
[self.recorder recordForDuration: 60];

我有一个计时器功能来更新仪表

- (void)updateMeters
{
    [self.recorder updateMeters];
    float peakPower = [self.recorder averagePowerForChannel: 0];
    double ALPHA = 0.05;
    double peakPowerForChannel = pow(10, (ALPHA * peakPower));
    self.recordView.progress = peakPowerForChannel;

    NSLog(@"%f", peakPower);
}

但我不知道为什么peakPower总是160。我有另一个演示(来自网络)可以很好地工作,但我找不到它们之间的任何区别。



Best Answer-推荐答案


尝试设置:

   recorder.meteringEnabled = YES;

关于ios - 为什么averagePowerForChannel 总是返回-160?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24991908/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4