Ich versuche, den AVAudioPlayer und die Audiopegelmessung zu verstehen

Ich versuche den AVAudioPlayer und die Audiopegelmessung zu verstehen. Was ich unten habe, ist ein Objekt "AudioPlayer", das einen kurzen Audioton wiedergibt. Jetzt möchte ich die Leistung dieses Klangs (Dezibel) ausgeben. Irgendwie glaube ich nicht, dass ich das richtig mache.

<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>

Die NSLog-Ausgabe davon ist 0 -160,00 -160,00 1 -160,00 -160,00

Laut Apple bedeutet "ein Rückgabewert von 0 dB volle Leistung oder maximale Leistung; ein Rückgabewert von -160 dB minimale Leistung". Ich glaube nicht, dass dies der Fall ist, da das Audio-Snippet ziemlich laut ist. Ich denke, ich vermisse hier etwas, jede Klarstellung wäre dankbar.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage