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.