Теперь я создаю приложение, использующее распознавание речи. Чтобы проверить мощность звука, поступающего через микрофон, Я написал метод следующим образом.Аудио питание на AudioQueue
-(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, другими словами, averagePower рассматривается как максимум, mPeakPower был ниже, чем 1,0.
Я думаю, что в целом этот результат невозможен. , пожалуйста, дайте мне знать, если у вас есть информация о звуковой мощности на CoreAudio.
спасибо.
Вы проверяете код результата (OSStatus), возвращаемый AudioQueueGetProperty? При ошибке значения, вероятно, не имеют смысла. – diciu
Спасибо за советы. Я проверил OSStatus, но это было «noErr» ... – Tomoyuki