AudioQueue读取输入音量

时间:2012-12-03 21:22:31

标签: iphone objective-c audio input volume

我在OS X上,我会在我说话的同时连续读取输入音量(就像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);
    }

我该怎么办? 感谢。

1 个答案:

答案 0 :(得分:1)

您是否通过设置kAudioQueueProperty_EnableLevelMetering属性启用了计量?如果没有,那可能是原因。