我正在用Swift编程一个需要测量分贝的应用程序,并且我正在使用averagePowerLevel属性,但是这个属性的范围是-160到0,如果它超过0,它就不再测量它。 是否有任何性质或方法来测量分贝超过0的限制? 那就是,它们是否可以不加限制地被测量? 有没有超过0就不能测量的原因?
-160至0表示满量程范围,也称为dbFS(满量程db)。
由于averagePowerLevel用于测量捕获通道中的电平,系统无法在满量程中产生超过0 db的波形,因此对其进行了限幅。 因此,满量程下测量值不超过0 db是合理的。
然而,对于播放声道,如果在满量程中为系统提供大于0 db的电平,则[AVAudioPlayer averagePowerForChannel]
将返回该值,即使系统可能仅以其最大能力电平(满量程中为0 db)播放