2017-03-04 6 views
1

私は無線LANでミディを送信する必要があるアプリに取り組んでいます。私は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

関連する問題