CoreMidi和外部USB控制器

时间:2013-06-17 16:09:48

标签: ios coremidi

我正在使用coremidi,但我还想支持外部USB功能。

我尝试过一款名为Midi Monitor的应用程序,它确实可以在连接时找到我的USB接口。 问题是如何通过我自己的应用程序启用此界面。正如在MIDIGetNumberOfExternalDevices文档中所述,"只有当UI(例如音频MIDI设置)添加它们时,它们的存在才是完全可选的。"

我该如何添加它们?

最诚挚的问候。

1 个答案:

答案 0 :(得分:2)

“外部设备”你想要什么。这些是用户可以在OS X中的音频MIDI设置中创建的内容,用于表示通过MIDI电缆连接到计算机的合成器或键盘或其他设备。系统不会自动创建它们。 (它不能,因为MIDI是非常原始的,没有设备发现协议。)

外部设备仅供用户在命名和排列内容时使用。它们不能用于进行MIDI输入或输出。它们在iOS中特别无用,因为没有音频MIDI设置应用程序。

相反,请使用MIDIGetNumberOfSourcesMIDIGetSource查找MIDI数据源。

要实际获取输入,请使用MIDIInputPortCreate创建输入端口,然后使用MIDIPortConnectSource将一个或多个源连接到该端口。然后,当MIDI进入时,将调用您的端口MIDIReadProc

同样,对于输出,您可以使用MIDIGetNumberOfDestinationsMIDIGetDestination来查找目的地,使用MIDIOutputPortCreate创建输出端口,使用MIDISend通过端口发送数据目的地。

供参考,请参阅MIDIServices documentation