MIDI 信息成倍增加

Posted

技术标签:

【中文标题】MIDI 信息成倍增加【英文标题】:MIDI messages are multiplying 【发布时间】:2020-01-10 23:00:02 【问题描述】:

ios 上运行 AKMIDI 时,我一直遇到一个奇怪的问题。我也认为这可能是 IOS 问题,不一定来自 Audiokit。打开输入后,我可以将 MIDI 控制器连接到 iPad 并使用 MIDI 侦听器协议按预期接收消息。如果我通过重启电源或将其从 iPad 上拔下来断开 MIDI 控制器,然后重新连接它,我就会开始在每个事件中收到两条相同的消息。如果我再次重启电源,我开始收到三条消息,等等。我还应该提到,当我检测到设备被移除时,我会关闭输入并清除监听器。当我检测到新连接时,我打开输入并重新开始。有谁知道什么会导致这种情况发生?

【问题讨论】:

你能发布一个示例项目吗? 项目太大,无法发布。也许这会有所帮助。当我检测到我的特定控制器已通过 USB 连接时,我执行以下操作: midi.openInput(uid: inID!) midi.addListener(self) midi.openOutput() 如果我检测到它已断开连接,我执行以下操作: midi.clearListeners () midi.closeOutput() midi.closeInput(uid: inID!) 【参考方案1】:

我想我已经找到了解决方法: 如果我只打开一次 MIDI 输入和一次输出,当我的设备第一次被检测到时,它似乎工作正常。我现在只在应用程序终止时关闭进出。您可以循环打开 MIDI 控制器的电源,重新连接时它仍会与应用程序通信。我现在也在使用更通用的调用 openInput()、addListener(self)、openOutput()。

【讨论】:

这听起来完全足够了。此外,当您有一个希望通过运行保持的端口时,您可以保留端口的唯一 ID,并在您的应用下次启动时将其打开。

以上是关于MIDI 信息成倍增加的主要内容,如果未能解决你的问题,请参考以下文章

如何通过聚合页面技术让网站快速增加成倍页面数量与收录量?

Greenplum -- 数据迁移(成倍增加计算能力)

也许你真的需要一个扩展屏幕, 让你的工作效率成倍增加

最值得收藏的电脑快捷键使用, 让你的效果成倍增加

最值得收藏的 搜狗输入法 常用快捷键使用, 让你的效率成倍增加

最值得收藏的 QQ浏览器 常用手势和快捷键使用, 让你的效率成倍增加