我在中成功使用 3D混音器音频单元以及 FilePlayer AudioUnit (和转换器单元来处理调音台的单声道输入)简单的AUGraph (没有渲染回调,只是连接的节点)。
当我设置k3DMixerParam_OcclusionAttenuation
时,一切正常,甚至遮挡效果的HiPass,除了音频中有可听的点击。
“当我设置”意味着“而参数设置时,会有这个毫秒长的点击噪音。”
// 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);
注意:删除结果检查以提高易读性。所有结果都没问题。
如果我注释掉遮挡衰减,设置方位角和距离可以正常工作,没有任何噪音。 我越是减少遮挡衰减(例如,它的最小值为-100db),点击就会变得更加嘈杂。
我尝试增加每个切片的最大帧数,降低增益,但无济于事。 我尝试使用预定参数,因为我认为提升值可能更好,但遗憾的是,没有一个参数支持调度。
任何提示可能是什么以及如何避免它?