【发布时间】:2018-11-18 17:18:47
【问题描述】:
更新到最新版本的 AudioKit 后,我将几个 AKCallbackInstrument 实例更改为新的 AKMIDICallbackInstrument 类,该类现在将前者合并为遗留行为。但是,这样做时,我遇到了这个奇怪的错误。也许我错过了 Swift 的细微差别?
let callback = AKMIDICallbackInstrument() { status, note, velocity in
if status == .noteOn { //errors out
// do something
}
}
比较 status 和 .noteOn 错误: “表达式类型 'Bool' 在没有更多上下文的情况下是模棱两可的。”。有道理,因为 AKMIDICallbackInstrument 不再返回状态中的 AKMIDIStatus,而是直接返回 MIDIByte (UInt8)。使用直接 MIDI 命令数字有效。
let callback = AKMIDICallbackInstrument() { status, note, velocity in
if status == 0x90 {
// do something
}
}
所以我们有一个问题和一个潜在的解决方案。我只是不确定这是要走的路,而且 AKMIDICallbackInstrument 还没有找到文档。
【问题讨论】:
-
好收获。回调工具通常应该比以前更好,但也有更多更大的好变化即将到来。我现在正在旅行,但我回来后可以调查一下。
-
嗨,有什么消息吗?将 AudioKit 升级到 4.6.1 时,我现在面临同样的问题