如何解决如何在 AudioKit v5 中发送 Note 消息而不触发内部接收 Note 消息?
我有一个 Swift 类,它扩展了 AudioKit 的 MIDIListener
来处理从外部和虚拟设备接收 MIDI 消息。它接收 noteOn
和 noteOff
消息,如下所示:
func receivedMIDINoteOn(noteNumber: MIDINoteNumber,velocity: MIDIVelocity,channel: MIDIChannel,portID: MIDIUniqueID? = nil,offset: MIDITimeStamp = 0) {
DispatchQueue.main.async {
self.data.noteOn = Int(noteNumber)
self.data.velocity = Int(velocity)
self.data.channel = Int(channel)
}
}
func receivedMIDINoteOff(noteNumber: MIDINoteNumber,offset: MIDITimeStamp = 0) {
DispatchQueue.main.async {
self.data.noteOff = Int(noteNumber)
self.data.channel = Int(channel)
}
}
我希望这个类还可以处理广播或将应用程序中创建的 MIDI 消息发送到这些外部和虚拟设备。我正在通过这些调用这样做:
midi.sendNoteOnMessage(noteNumber: MIDINoteNumber(note),velocity: MIDIVelocity(velocity))
还有:
midi.sendNoteOffMessage(noteNumber: MIDINoteNumber(note),velocity: MIDIVelocity(velocity))
但是,当我发送消息时,received
方法也会触发。这会复制应用程序中最终用户的预期行为。是否有一种首选方法可以不发送消息,但不让它们在应用程序内部接收?或者我应该调用不同的方法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。