我计划使用audioKit构建一个音序器。
我想根据用户的互动动态生成midiNotes,所以我希望能够录制和播放midi但不仅仅是(我想记录一些带时间戳的对象)。
我想我必须在某个地方设置一个带延迟的递归循环,但我不知道有什么最好的方法来获得一个可以远程控制的稳定时钟(停止或暂停,改变速度......)。
是否已在audioKit中实现了一些组件来实现此目的? 或者我应该使用一些系统组件(Grand Central Dispatch或NSTimer ......)
欢迎提出任何建议,
谢谢: - )
答案 0 :(得分:2)
我从Aurelius Prochazka(AudioKit Developper)得到了答案 " AKOperations无法触发任意代码。"
我找到了使用" dispatch_after"的解决方案。在快速似乎可以做到这一点。 (即使在操场上也很稳定,时钟设置为每蜱1毫秒)
但是在挖掘网络后,根据Aurelius的说法,使用CADisplayLink似乎更适合拥有稳定的时钟。
有一个触发时钟的AudioKit游乐场的例子(AudioKit.playground / Sources文件夹中的AKPlaygroundLoop.swift)