首页 > 解决方案 > 是否可以将输入重置为 AudioKit AKNode?

问题描述

我正在使用 AudioKit 构建一个应用程序,在那里我可以偶尔重新排序处理链。例如,我可能有“wav”->“reverb”->“filter”,我想交换一些东西,所以我有“wav”->“filter”->“reverb”。

我想做的是调用 AudioKit.stop(),将输入重新连接到现有节点,然后再次调用 AudioKit.start()。但是,在我看来,您不能将输入更改为构造函数之外的节点,因此我需要复制每个节点的状态,创建一个具有相同状态的新节点,然后再次设置我的链。

有没有更简单的方法来实现这一点,而不必每次都用相同的参数销毁和重新制作节点?

标签: audiokit

解决方案


对于您的示例,我会考虑使用 wav->reverb->filter->reverb 然后绕过您不想使用的混响。绕过的效果不应该对你的 CPU 造成任何负担,所以应该没问题。这解决了您的示例,但是对于更通用的解决方案,是的,您必须重建整个链。核心团队的成员正在研究这个问题,但就目前而言,我认为这个答案就足够了。


推荐阅读