如何通知audiounit主机,kAudioUnitProperty_Latency已更改?

时间:2013-12-04 17:23:14

标签: core-audio audiounit

我的AudioUnits工作正常,但是当延迟发生变化时,他们需要通知主机。这是我的代码:

AudioUnitEvent e;
MMEMSET(&e, 0, sizeof(AudioUnitEvent));
e.mArgument.mProperty.mAudioUnit = Instance;//GetComponentInstance ();
e.mArgument.mProperty.mPropertyID = kAudioUnitProperty_Latency;
e.mArgument.mProperty.mScope = kAudioUnitScope_Global;
e.mArgument.mProperty.mElement = 0;
e.mEventType = kAudioUnitEvent_PropertyChange;
AUEventListenerNotify (paramListenerRef, NULL, &e);

不幸的是,这似乎在大多数主机中都没有,特别是Logic。什么想法可能是错的?

1 个答案:

答案 0 :(得分:1)

终于找到了它。因此,您需要管理属性侦听器列表,并且每当发生这种情况时,请询问所有属性侦听器。很难看,但我花了一些时间研究可怕的CoreAudio SDK,这就是他们这样做的方式......