文档AVAudioPlayer
说averagePowerForChannel:
“返回给定通道的平均功率,以分贝为单位,用于播放的声音。” 但它没有说明“平均”是什么意思,或者如何/是否对该平均值进行加权。我对样本的范围特别感兴趣,特别是时间间隔以及它是否会进入未来。
AVAudioRecorder:峰值和平均功率表示用于计算功率的公式是多个样本的 RMS(均方根),但也没有说明使用了多少样本。
可选的额外问题:如果我想计算平均功率,例如 100 毫秒——足够的时间让动画现在开始并很快达到适当的水平——我应该研究什么框架?与 AVAudioRecorder 中的仪表混淆表示我可以使用 AudioQueue 或 RemoteIO 获取原始样本数据,然后我可以使用类似这样的东西:Android 版本的 AVAudioPlayer 的 averagePowerForChannel——但我还没有找到示例代码(请原谅双关语)。