我正在使用coremidi,但我还想支持外部USB功能。
我尝试过一款名为Midi Monitor的应用程序,它确实可以在连接时找到我的USB接口。 问题是如何通过我自己的应用程序启用此界面。正如在MIDIGetNumberOfExternalDevices文档中所述,"只有当UI(例如音频MIDI设置)添加它们时,它们的存在才是完全可选的。"
我该如何添加它们?
最诚挚的问候。
答案 0 :(得分:2)
“外部设备”不你想要什么。这些是用户可以在OS X中的音频MIDI设置中创建的内容,用于表示通过MIDI电缆连接到计算机的合成器或键盘或其他设备。系统不会自动创建它们。 (它不能,因为MIDI是非常原始的,没有设备发现协议。)
外部设备仅供用户在命名和排列内容时使用。它们不能用于进行MIDI输入或输出。它们在iOS中特别无用,因为没有音频MIDI设置应用程序。
相反,请使用MIDIGetNumberOfSources
和MIDIGetSource
查找MIDI数据源。
要实际获取输入,请使用MIDIInputPortCreate
创建输入端口,然后使用MIDIPortConnectSource
将一个或多个源连接到该端口。然后,当MIDI进入时,将调用您的端口MIDIReadProc
。
同样,对于输出,您可以使用MIDIGetNumberOfDestinations
和MIDIGetDestination
来查找目的地,使用MIDIOutputPortCreate
创建输出端口,使用MIDISend
通过端口发送数据目的地。
供参考,请参阅MIDIServices documentation。