我是Audiokit的新手。我想想象一下正在运行的AKSequencer的当前位置。是否有任何回调(如在AKMetronome中)或监听器或根时钟/主循环运行,我可以连接?或者我应该使用以任何方式“触发”GUI的AKCallbackInstrument?
有没有人想要分享?日Thnx!
我用AKCallbackInstrument
这样做。对于我写MIDI事件的每个序列轨道,我有一个姐妹音序器轨道发送到AKCallbackInstrument
。当我为音轨编写MIDI事件时,我还会向姐妹回调轨道写一个GUI事件。
因为您只能将MIDIStatus,MIDINote和MIDIVelocity数据发送到回调仪器,所以您必须随意将信息编码为这些格式。例如,MIDINote为0可能表示一种类型的GUI事件,MIDINote 1表示其他类型。创建一些枚举使这很容易。
当然回调函数是在后台线程上调用的,所以不要忘记指定GUI更新应该在主线程上发生。
这种方法对我来说非常有效。
编辑:我怀疑你已经看过this sample code说明了非常相似的东西,但是这个链接可能对遇到这个问题的其他人有用。