Я сейчас создаю приложение с использованием распознавания речи. Чтобы проверить силу звука, поступающую через микрофон,
Я написал метод следующим образом.
-(void)checkPower(AudioqueRef)queue{
UInt32 expectedSize= sizeof(AudioQueueLevelMeterState);
AudioQueueGetProperty(queue,
kAudioQueueProperty_CurrentLevelMeter,
audioLevels,
expectedSize);
NSLog(@"average:%f peak:%f",audioLevels.mAveragePower,audioLevels.mPeakPower);
}
Я обнаружил, что иногда mAveragePower был больше, чем mPeakPower,
и когда mAveragePower был 1,0, другими словами, средняя мощность
считается максимальным, mPeakPower был ниже, чем 1,0.
Я думаю, что в общем случае этот результат невозможен.
Пожалуйста, дайте мне знать, если у вас есть какая-либо информация о мощности звука на CoreAudio.
спасибо.