Próbuję zrozumieć AVAudioPlayer i pomiar poziomu dźwięku

Próbuję zrozumieć AVAudioPlayer i pomiar poziomu dźwięku. Poniżej znajduje się obiekt „AudioPlayer”, który odtwarza krótki dźwięk audio. Teraz chcę wygenerować moc tego dźwięku (decybele). Jakoś nie sądzę, że robię to dobrze.

<code>        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]);
</code>

Wynik NSLog wynosi 0 -160,00 -160,00 1 -160,00 -160,00

Teraz według Apple „Wartość zwrotna 0 dB wskazuje pełną skalę lub moc maksymalną; wartość powrotu -160 dB wskazuje minimalną moc”. Czy to oznacza, że ​​ten dźwięk ma minimalną moc? Nie wydaje mi się, że to prawda, ponieważ fragment audio jest dość głośnym dźwiękiem. Myślę, że coś tu brakuje, wszelkie wyjaśnienia zostaną docenione.

questionAnswers(2)

yourAnswerToTheQuestion