2017-03-04 79 views
1

我正在研究需要通過wifi發送Midi的應用程序。我看着CoreMIDI和MIDINetworkSession類。我已將默認會話的策略設置爲.anyone並啓用了它。但我不清楚接下來要做什麼。我查看了PGMidi,但是在改變會話之後沒有列出遠程主機的MIDI端口。如何使用CoreMIDI在網絡上查找所有可用的MIDI端口?

我想要的是我可以在運行MacOSX的遠程機器上連接的所有MIDI端口的列表。

這有可能嗎?有人可以給我一些提示嗎?

回答

0

我能弄明白。以下是我所做的:

掃描遠程服務 假設我的Mac正在運行通過Bonjour發佈的MIDI會話。我使用NetServiceBrowser掃描本地網絡並找出哪個服務器支持「_apple-midi._udp」服務。 Look at the documentation.。 NetServiceBrowserDelegate在委託回調中接收服務。請注意,服務對象尚未針對DNS解析,因此不包含主機的IP地址。 下一步是使用NetServiceDelegate解析服務。在成功委託回調中傳遞的服務對象包含關於該服務的所有知識。所以現在,你有一個IP地址/主機名和相應的端口號列表。

發送MIDI 使用ip地址/主機名和端口號創建MIDINetworkConnection實例。它看起來像一個同步調用,所以它可能不會聯繫服務器本身。接下來,獲取所有的MIDI設備並遍歷實體和目的地。 Its given in this document