如何使用Audiokit可视化AKSequencer当前位置?

hea*_*kit 5 audio ios swift audiokit aksequencer

我是Audiokit的新手。我想可视化正在运行的AKSequencer的当前位置。是否可以连接任何回调(例如AKMetronome中的回调)或侦听器或正在运行的根时钟/主循环?还是应该使用以任何方式“触发” GUI的AKCallbackInstrument?

有谁想分享吗?谢谢!

c_b*_*oth 4

我用AKCallbackInstrument. 对于我写入 MIDI 事件的每个序列轨道,我都有一个姐妹音序器轨道发送到AKCallbackInstrument. 当我为音轨写入 MIDI 事件时,我还会向姐妹回调轨道写入 GUI 事件。

由于您只能将 MIDIStatus、MIDINote 和 MIDIVelocity 数据发送到回调乐器,因此您必须将信息任意编码为这些格式。例如,MIDINote 0 可能表示一种类型的 GUI 事件,MIDINote 1 表示其他类型的事件。创建一些枚举使这变得容易。

当然,回调函数是在后台线程上调用的,因此不要忘记指定 GUI 更新应该在主线程上进行。

这种方法对我来说非常有效。

编辑:我怀疑您已经看过这个示例代码,它说明了非常相似的内容,但此链接可能对遇到此问题的其他人有用。