AudioQueue上的音频电源
问题描述:
我正在使用语音识别来创建应用程序。要检查通过麦克风进入的音频电源,我写了一个如下的方法。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声功率的信息。
谢谢。
答
我认为mPeakPower意味着CURRENT时刻的频道功率& mAveragePower - 所有记录时间的平均频道功率,以及是否可能。
你在检查AudioQueueGetProperty返回的结果码(OSStatus)吗?出错时,这些值可能没有意义。 – diciu 2009-12-03 11:20:53
感谢您的建议。我检查了OSStatus,但它是“noErr”... – Tomoyuki 2009-12-04 09:48:11