AVAudioPlayerとオーディオレベルメータリングを理解しようとしています。以下にあるのは、短いオーディオサウンドを再生しているオブジェクト「AudioPlayer」です。この音(デシベル)のパワーを出力したいと思います。どういうわけか私はこれを正しくやっているとは思わない。
audioPlayer.meteringEnabled = YES;
[audioPlayer play];
int channels = audioPlayer.numberOfChannels;
[audioPlayer updateMeters];
for (int i=0; i<channels; i++) {
//Log the peak and average power
NSLog(@"%d %0.2f %0.2f", i, [audioPlayer peakPowerForChannel:0],[audioPlayer averagePowerForChannel:0]);
このNSLog出力は0-160.00-160.00 1-160.00-160.00です。
Appleによれば、「0 dBの戻り値はフルスケール、つまり最大電力を示します。-160dBの戻り値は最小電力を示します」では、これはこのサウンドが最小電力であることを意味しますか?オーディオスニペットはかなり大きな音なので、これは真実ではないと思います。私はここで何かが欠けていると思います、どんな説明でもいただければ幸いです。