我正在开发的应用程序需要在声音链中动态添加/删除/重新排列组件。
到目前为止,我主要.disconnectOutput()在大多数组件上使用该方法,然后重新连接所有组件。这在大多数情况下都有效,但有时似乎一个节点连接在声音链中的多个点,如果节点连接到AudioKit.output.
AudioKit 提供了许多公共方法,例如.detach(), .disconnectInput(),.disconnect()我不太清楚修改声音链的最干净或最安全的方法。做这个的最好方式是什么?
另外,是否有某种方法可以跟踪哪些节点连接到哪些节点?
使用detach()AKNode 上的方法将其从链中删除。
不推荐使用 AKNode的disconnect()和disconnect(nodes: )方法。使用AKNode.detach()和AudioKit.detach(nodes: )代替。
我同意这个术语非常不清楚,并且在现有文档中没有解释。当我学习 API 时,我仍然在生命周期和运行时链动态方面苦苦挣扎,所以我无法传达最佳实践。通常,您不想破坏对象图。我正在使用 AKMixer 对象,然后使用.connect(input:bus:)和.disconnectInput(bus:)方法以及相关总线的内部跟踪动态附加子节点,但我仍然使用这种方法遇到崩溃:(
Apple 的父 AVAudioEngine 文档页面为动态链接实践提供了一些经验法则:https : //developer.apple.com/documentation/avfoundation/avaudioengine
| 归档时间: |
|
| 查看次数: |
930 次 |
| 最近记录: |