我是 Audiokit 的新手。我想可视化正在运行的 AKSequencer 的当前位置。 是否有任何我可以连接的回调(如 AKMetronome)或监听器或运行的根时钟/主循环?或者我应该使用以任何方式“触发”GUI 的 AKCallbackInstrument 吗?
有没有人做过这件事谁愿意分享?谢谢!
最佳答案
我使用 AKCallbackInstrument
执行此操作。对于我写入 MIDI 事件的每个音序轨道,我有一个姐妹音序器轨道发送到 AKCallbackInstrument
。当我为音轨编写一个 MIDI 事件时,我也将一个 GUI 事件写入姐妹回调轨道。
因为您只能将 MIDIStatus、MIDINote 和 MIDIVelocity 数据发送到回调乐器,所以您必须将信息任意编码为这些格式。例如,0 的 MIDINote 可能表示一种类型的 GUI 事件,MIDINote 1 表示其他类型。创建一些枚举可以让这变得简单。
当然,回调函数是在后台线程上调用的,所以不要忘记指定您的 GUI 更新应该发生在主线程上。
这种方法对我来说效果很好。
编辑:我怀疑你已经看到了this sample code这说明了一些非常相似的事情,但这个链接可能对遇到这个问题的其他人有用。
关于ios - 如何使用 Audiokit 可视化当前的 AKSequencer 位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49077493/