我使用的是OS操作系统,在我说话的时候,我必须不断地读取输入音量(就像Siri那样,它会显示紫色条的高低,以显示强大的声音或微弱的声音)。我已经尝试过此代码,但它返回“参数ID无效”:
UInt32 size = sizeof(AudioQueueLevelMeterState) * record_state.data_format.mChannelsPerFrame;
AudioQueueLevelMeterState *outValue = malloc(size);
OSStatus errorMsg = AudioQueueGetProperty (record_state.queue, kAudioQueueProperty_CurrentLevelMeter, &outValue, &size );
if (!errorMsg) {
printf("Volume: %f", outValue[0].mPeakPower);
}
else
{
printf("Er: %i", errorMsg);
}我该怎么做呢?谢谢。
发布于 2012-12-04 05:31:27
您是否通过设置kAudioQueueProperty_EnableLevelMetering属性启用了计量?如果不是,这可能是原因。
https://stackoverflow.com/questions/13691936
复制相似问题