如何在 AudioKit v5 中发送 Note 消息而不触发内部接收 Note 消息?

问题描述

我有一个 Swift 类,它扩展了 AudioKit 的 MIDIListener 来处理从外部和虚拟设备接收 MIDI 消息。它接收 noteOnnoteOff 消息,如下所示:

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 (将#修改为@)