首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未收到SysEx事件

未收到SysEx事件
EN

Stack Overflow用户
提问于 2019-04-18 19:24:01
回答 1查看 54关注 0票数 0

我有一个小应用程序接收来自蓝牙通道的MIDI。它使用核心API工作得很好,所以我尝试使用AudioKit来简化我的代码。

问题是:我无法在侦听器中看到SysEx事件(尽管我在基本代码中看到了它们)。接收其他midi事件。

代码语言:javascript
复制
            AKMidi = AudioKit.midi
            AKMidi?.addListener(AVKMIDIControl())
...
                AKMidi?.openInput(index: i)
...
class AVKMIDIControl:AKMIDIListener {
...
// copy paste from audiokit.io example
    func receivedMIDISystemCommand(_ data: [MIDIByte]) {
        if let command = AKMIDISystemCommand(rawValue: data[0]) {
            var newString = "MIDI System Command: \(command) \n"
            for i in 0 ..< data.count {
                newString.append("\(data[i]) ")
            }
            print(newString)
        }
    }
...

我应该在侦听器中接收SysEx事件(顺便说一句,我实现了所有其他函数以确保我捕获到了所有内容),但我只得到了像AKMIDI.swift:startReceivingSysex(with:):102:Starting to receive AKMIDI.swift:stopReceivingSysex():107:Done receiving Sysex这样的日志消息

但是没有通过听者..。

如何获取Sysex消息数据?

EN

回答 1

Stack Overflow用户

发布于 2019-05-24 02:47:47

但是,我可以在当前版本(4.7.2)中确认这一行为:在版本4.5.6中,sysex (和其他MIDI消息)由您的midilistener接收。所以我的应用程序仍然在使用这个版本。由于某些原因,在以后的版本中,接收MIDI似乎被破坏了。

但是4.5.6版本也不是完美的。它将大的sysex消息分成多个小消息。我有一些代码来处理这个问题,如果你需要的话,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55744978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档