gpt4 book ai didi

ios - AudioKit 4.6 版本 : AKMIDICallbackInstrument not calling back

转载 作者:行者123 更新时间:2023-11-28 07:31:00 25 4
gpt4 key购买 nike

对 4.6 中的所有添加感到非常兴奋!查看大部分更改后,我没有看到 AKMIDICallbackInstrument 有任何明显不同,但是,我无法再让调用恢复工作。这是我的实现:

var sequencer: AKSequencer = AKSequencer()
var callbackTrack: AKMusicTrack = AKMusicTrack()
var callbackInst: AKMIDICallbackInstrument = AKMIDICallbackInstrument()

---

public func setupSequencerWithBeats(beats: Int, bpm: Double) {

print("Num beats: \(beats) | BPM: \(bpm)")
sequencer.setTempo(bpm)

callbackTrack = sequencer.newTrack()!
callbackTrack.setMIDIOutput(callbackInst.midiIn)

for i in 0 ..< beats {
callbackTrack.add(noteNumber: MIDINoteNumber(60), velocity: 100, position: AKDuration(beats: Double(i)), duration: AKDuration(beats: 1))
}

callbackInst.callback = {status, noteNumber, velocity in

//Using the new AKMIDIStatus object to unwrap the status and check if it's .noteOn
if let midiStatus = AKMIDIStatus(byte: status), midiStatus.type != .noteOn
{
return
}

// just some delegates to other classes
self.sequencerdDelegate?.didRecieveCallbackFromSequencer(beatNumber: self.beatNumber)
self.beatNumber += 1
}

当我调用 sequencer.play() 时,callbackInst 无法再触发回调。我在这里的假设是 setMIDIOutput() 方法有什么变化吗?如果有更好的方法在我的音序器中触发 .noteOn 事件时获得回调,我很想知道。谢谢大家!

最佳答案

感谢 AudioKit 贡献者 oettam 看到 4.6.0 中的一个非常小的变化影响了所有 MIDI 组件!此问题已在 4.6.1 中修复!他的 promise :https://github.com/AudioKit/AudioKit/commit/dcfbbb98058425e43af23b9df69fd9794ecc34d5

关于ios - AudioKit 4.6 版本 : AKMIDICallbackInstrument not calling back,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54682484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com