gpt4 book ai didi

ios - 在不移除混音器总线或停止/启动图的情况下停止总线渲染回调

转载 作者:行者123 更新时间:2023-11-29 10:53:24 25 4
gpt4 key购买 nike

要停止混音器总线渲染回调,可以停止图形,移除总线并重新启动图形。但我有两个要求:

一个。不想停止/重新启动图表。
B. 不想移除混音器总线。

我可以禁用/启用指定的总线:

OSStatus result = AudioUnitSetParameter (
mixerUnit,
kMultiChannelMixerParam_Enable,
kAudioUnitScope_Input,
inputBus, //the specified bus number
isOnValue, //on:YES or off:NO
0
);

但这并没有阻止调用指定总线的渲染回调。目前,我通过在渲染回调函数中使用 if 语句来过滤掉该特定总线来实现这一点。

有没有办法实现我想做的事情? (不使用我当前的解决方案)

最佳答案

您可以在图形处于事件状态时修改节点的输入。您只需要在之后更新图表。

为此,请使用 AUGraphDisconnectNodeInput(...)然后AUGraphUpdate(...) .

问题编辑后更新:

你的两个陈述并没有做相反的事情。第一个从混合器单元中删除输入(我假设是你的回调),第二个将混合器单元添加为 io 单元的输入。后一个是当时可能已经存在的连接,因为您没有删除此连接。

您必须再次将渲染回调附加到混合器单元,而不是将混合器单元添加到 io 单元。

还要确保在添加混合器单元的输入后调用 AUGraphUpdate 以告诉图形更新自身,因为它已更改。

关于ios - 在不移除混音器总线或停止/启动图的情况下停止总线渲染回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19505793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com