我想比较我正在为学校工作的 iPhone 应用程序的两个音频文件的平均音量(以 dB 为单位)。我在 Xcode,Objective-C 中工作。
经过一些研究,我在 AVFoundation 框架中找到了“averagePowerForChannel:”,但我无法弄清楚它是如何工作的。这是一些代码:
NSString *stringPath = [NSBundle mainBundle]pathForResource:wavname ofType:@"wav"];
NSURL *url = [NSURL fileURLWithPath:stringPath];
avPlayer = [[AVaudioPlayer alloc]initWithContentsOfUrl:url error:nil];
[avPlayer play];
上面的代码播放一个名为“wavname”的 .wav 文件。我如何确定它的平均音量?
[avPlayer averagePowerForChannel:0];
如果我只是在上面添加 te 代码,它将返回 -160.000。我猜这是音频文件开头的音量。
我该如何正确使用它?因为,目前,我不明白为什么它被称为“averagePower”,因为它似乎只在一个时间点检查音量。