Ios 设置3DMixer参数K3MixerParam_闭塞衰减时,可听到咔哒声

Ios 设置3DMixer参数K3MixerParam_闭塞衰减时,可听到咔哒声,ios,c,cocoa-touch,core-audio,audiounit,Ios,C,Cocoa Touch,Core Audio,Audiounit,我在一个简单的图形中成功地使用了一个3D混音器音频单元和一个FilePlayer音频单元(以及一个转换器单元来处理混音器的单声道输入)(没有渲染回调,只有连接的节点) 当我设置k3DMixerParam\u oclusion衰减时,除了音频中有可听到的咔嗒声之外,一切都很好,即使是遮挡效果的HiPass “当我设置时”意味着“当参数设置时,会有毫秒长的咔嗒声。” 注意:删除结果检查以提高易读性。所有结果都可以 如果我注释掉遮挡衰减,则设置方位角和距离效果良好,没有任何可听到的噪音。 我越是减小遮

我在一个简单的图形中成功地使用了一个3D混音器音频单元和一个FilePlayer音频单元(以及一个转换器单元来处理混音器的单声道输入)(没有渲染回调,只有连接的节点)

当我设置
k3DMixerParam\u oclusion衰减时,除了音频中有可听到的咔嗒声之外,一切都很好,即使是遮挡效果的HiPass

“当我设置时”意味着“当参数设置时,会有毫秒长的咔嗒声。”

注意:删除结果检查以提高易读性。所有结果都可以

如果我注释掉遮挡衰减,则设置方位角和距离效果良好,没有任何可听到的噪音。 我越是减小遮挡衰减(例如,最小值为-100db),点击声就越难听、越响亮

我尝试增加每个片段的最大帧数,降低增益,但没有效果。 我尝试使用调度参数,因为我认为最好是渐变值,但不幸的是,没有一个参数支持调度


有什么提示吗?这可能是什么以及如何避免?

您能检测到过零点,并在那一刻进行更改吗?或者样本中的不连续是不可避免的吗?我不知道如何在没有渲染回调的情况下检测过零点?设置的时间并不关键。我仍然有兴趣找到这个问题的原因和潜在的解决方法。同时,我添加了一个AULowPassFilter作为一个单独的AudioUnit节点,设置这个lowPassFilter的参数非常有魅力。如果您能简单地告诉我,在连接转换单元和3D混音器音频单元时,您是如何获得立体声信号的,我将非常感激?如何分离左声道和右声道,并将其分别设置为3D音频单元?
// this produces clicks
AudioUnitSetParameter(_mixerUnit, k3DMixerParam_OcclusionAttenuation, kAudioUnitScope_Input, bus, occlusion, 0);

// azimuth & distance work fine without clicks
AudioUnitSetParameter(_mixerUnit, k3DMixerParam_Azimuth, kAudioUnitScope_Input, bus, azimuth, 0);
AudioUnitSetParameter(_mixerUnit, k3DMixerParam_Distance, kAudioUnitScope_Input, bus, distance, 0);