![](/img/trans.png)
[英]AudioKit - How to use AKAmplitudeTracker threshold callback?
[英]How do you use AKMIDIStatus in a AKMIDICallbackInstrument callback with AudioKit 4.6.1
將AKSequencer用於midi和Control軌道。 我知道AKMIDIStatus在最近的修訂中進行了一些更改。 我的探索使我相信這個簡單的“ note on”“ note off”回調應該可以工作:
func playThroughCallback(_ statusByte: UInt8,
_ noteNumber: MIDINoteNumber,
_ velocity: MIDIVelocity) {
//print("MIDI Sequence Event \(status)")
guard let status = AKMIDIStatus(byte: statusByte) else { return }
switch status {
case .noteOn: midi?.sendNoteOnMessage(noteNumber: noteNumber, velocity: velocity)
case .noteOff: midi?.sendNoteOffMessage(noteNumber: noteNumber, velocity: velocity)
default: return
}
}
但是枚舉的案例似乎已經消失了。
編輯:恢復到4.5.5使我可以在此處使用解決方案: AKMIDICallbackInstrument實現問題
嘗試使用傳入的字節創建AKMIDIStatus ,然后讀取AKMIDIStatusType
let callbackReceiver = AKMIDICallbackInstrument(midiInputName: "myCoolInput",
callback: { status, noteNumber, velocity in
let statusType = AKMIDIStatus(byte: status)?.type //can be noteOn, noteOff, etc
if(statusType == AKMIDIStatusType.noteOn){
print("Note on.")
}
})
myTrack.setMIDIOutput(callbackReceiver.midiIn)
剛剛經過測試,可以在AudioKit 4.6.1中使用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.