我已经将AudioKit升级到4.6.1,现在无法编译我的应用程序。出现了2个问题,与AKCallbackInstrument类有关。
第一:
callbackTrack?.setMIDIOutput(callbackInstrument.midiIn)
和Value of type 'AKCallbackInstrument' has no member 'midiIn'
一起出现,由于AKCallbackInstrument继承自AKMIDIInstrument
秒:
callbackInstrument.callback = { status, noteNumber, velocity in
if(status == .noteOn){
// ...
}
}
此注释:Ambiguous reference to member '=='
,我已经在SO上看到了这个问题,但没有帮助。
谢谢:)
答案 0 :(得分:1)
这似乎是由于从MIDIStatus为类型更改为MIDIStatus为包含类型的对象。
public struct AKMIDIStatus {
...
public var type: AKMIDIStatusType? {
return AKMIDIStatusType(rawValue: Int(byte.highBit))
}
因此,请尝试仅将代码更改为s
if status.type == .noteOn {
//
}
答案 1 :(得分:0)
由于我个人没有几个问题,因此我将在此处发布对我有用的答案。
用AKCallbackInstrument
更改AKMIDICallbackInstrument
,API应该可以正常工作。
*请确保您使用的版本比4.6.1更新,因为此版本中的修复程序和MIDI组件的更改。