问题描述:
AKCallbackInstrument中的midiIn和回调状态不起作用。
解决方法:
let callbackInstrument = AKCallbackInstrument()
AudioKit.output = callbackInstrument
try AudioKit.start()
func midiNoteOn(noteNumber: MIDINoteNumber, velocity: MIDIVelocity, channel: MIDIChannel) {
// 处理音符按下事件
}
func midiNoteOff(noteNumber: MIDINoteNumber, velocity: MIDIVelocity, channel: MIDIChannel) {
// 处理音符松开事件
}
callbackInstrument.callback = { status, noteNumber, velocity in
if status == .noteOn {
self.midiNoteOn(noteNumber: noteNumber, velocity: velocity, channel: 0)
} else if status == .noteOff {
self.midiNoteOff(noteNumber: noteNumber, velocity: velocity, channel: 0)
}
}
// 触发MIDI事件
callbackInstrument.midiIn(status: .noteOn, noteNumber: 60, velocity: 100)
以上是解决AKCallbackInstrument midiIn和回调状态不起作用的方法,希望对你有帮助!