How do I send and receive network MIDI data in iOS? I am able to resolve the server using bonjour and apply the service to a MIDI connection, but I don't know where to go from there. The documentation seems to be lacking, and there's not much information online.
如何在iOS中发送和接收网络MIDI数据?我能够使用bonjour解析服务器,并将服务应用到MIDI连接,但我不知道从哪里开始。文档似乎缺乏,网上也没有多少信息。
1 个解决方案
#1
8
Essentially, you need to connect to the session via Bonjour as you have done, and within your iOS app:
本质上,你需要像以前一样通过Bonjour连接到会话,并且在你的iOS应用程序中:
- Create a client using MIDIClientCreate
- 使用MIDIClientCreate创建客户端
- Create an input port using MIDIInputPortCreate
- This takes a pointer to a C function that will be called when MIDI data is received
- 当接收MIDI数据时,将调用一个指向C函数的指针。
- You need to connect it to the MIDINetworkSession's defaultSession using MIDIPortConnectSource - connect it to the sourceEndpoint
- 您需要使用MIDIPortConnectSource将它连接到MIDINetworkSession的defaultSession——将它连接到sourceEndpoint
- 使用MIDIInputPortCreate创建一个输入端口,它将指针指向一个C函数,当接收MIDI数据时,需要将其连接到MIDINetworkSession的defaultSession,使用MIDIPortConnectSource—将它连接到sourceEndpoint。
- Create an output port using MIDIOutputPortCreate
- You can send data to the network session using MIDISend - send the packets to to the MIDINetworkSession defaultSession's destinationEndpoint
- 您可以使用MIDISend将数据发送到网络会话——将数据包发送到MIDINetworkSession defaultSession的destinationEndpoint
- 使用MIDIOutputPortCreate创建一个输出端口,您可以使用MIDISend将数据发送到网络会话——将数据包发送到MIDINetworkSession defaultSession的destinationEndpoint
I wrote a few blog posts about this a while back, see here for source code etc.
我以前写过一些关于这方面的博客文章,源代码见这里。
第1部分
第2部分
第3部分
#1
8
Essentially, you need to connect to the session via Bonjour as you have done, and within your iOS app:
本质上,你需要像以前一样通过Bonjour连接到会话,并且在你的iOS应用程序中:
- Create a client using MIDIClientCreate
- 使用MIDIClientCreate创建客户端
- Create an input port using MIDIInputPortCreate
- This takes a pointer to a C function that will be called when MIDI data is received
- 当接收MIDI数据时,将调用一个指向C函数的指针。
- You need to connect it to the MIDINetworkSession's defaultSession using MIDIPortConnectSource - connect it to the sourceEndpoint
- 您需要使用MIDIPortConnectSource将它连接到MIDINetworkSession的defaultSession——将它连接到sourceEndpoint
- 使用MIDIInputPortCreate创建一个输入端口,它将指针指向一个C函数,当接收MIDI数据时,需要将其连接到MIDINetworkSession的defaultSession,使用MIDIPortConnectSource—将它连接到sourceEndpoint。
- Create an output port using MIDIOutputPortCreate
- You can send data to the network session using MIDISend - send the packets to to the MIDINetworkSession defaultSession's destinationEndpoint
- 您可以使用MIDISend将数据发送到网络会话——将数据包发送到MIDINetworkSession defaultSession的destinationEndpoint
- 使用MIDIOutputPortCreate创建一个输出端口,您可以使用MIDISend将数据发送到网络会话——将数据包发送到MIDINetworkSession defaultSession的destinationEndpoint
I wrote a few blog posts about this a while back, see here for source code etc.
我以前写过一些关于这方面的博客文章,源代码见这里。
第1部分
第2部分
第3部分