Jak uzyskać dokładny poziom decybeli z kakao?

Tworzymy aplikację, która rejestruje otaczający dźwięk i podejmuje niezbędne działania, jeśli dźwięk przekracza określony decybel.

Aby osiągnąć cel aplikacji, korzystamy z następującej metody z AudioQueueObject.h

- (void) getAudioLevels: (Float32 *) levels peakLevels: (Float32 *) peakLevels {

UInt32 propertySize = audioFormat.mChannelsPerFrame * sizeof (AudioQueueLevelMeterState);
AudioQueueGetProperty(
self.queueObject,
(AudioQueuePropertyID)kAudioQueueProperty_CurrentLevelMeterDB,
self.audioLevels,
&propertySize);

levels[0] = self.audioLevels[0].mAveragePower;
peakLevels[0] = self.audioLevels[0].mPeakPower;
}

Mamy następujący zestaw zapytań

Nagrany dźwięk pokazuje wartość w decybelach od -60. Ta wartość zwiększa się, gdy dźwięk staje się głośniejszy. Maksymalna wartość zarejestrowana tym obiektem wynosi 0,0000. Wyjaśnij nam, jak interpretować te wartości.

zgodnie z dokumentacją mówi, że wartości, które otrzymujemy, są w cyfrowych decybelach, które muszą zostać przekonwertowane na analogowe.

z góry dziękuję

questionAnswers(2)

yourAnswerToTheQuestion