我正在尝试使用 audiokit 从 mac 上的应用程序中的硬件合成器接收系统消息。这些合成器消息由 11 个数字组成,例如:
240,00,32,51,01,16,112,00,40,95,247
在当前发布的 audiokit (4.5.5) 版本中,这样的消息是在函数中的 AKMIDIListener 类中接收的:receivedMIDISystemCommand(data). 她的“数据”对象收到如下“混乱”消息:[240, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
一些观察 - 似乎如此大量的数字是由 256 个数字的 6 个部分组成的。它们以取自真实消息的三个数字开头,然后是 253 个零。- 大多数部分都是重复的。
有了这一切,我可以重新创建原始消息。当我这样做时,我发现每条消息都被多次接收。而且很多消息似乎都丢失了。
长话短说,我真的很喜欢 Audiokit 有很多原因,但我不能用它来接收 sysex。