アプリケーション内のさまざまなMIDIコントローラデバイスにアクセスするためのサポートが追加されています。 midiInOpen
を使用する私たち自身の試行から、midiInOpen
を使用して1つのアプリケーションだけがMIDI入力デバイスにアクセスできるようです。 MIDIデバイスを開こうとする2番目のアプリケーションがエラーMMSYSERR_NOMEM
で失敗します。複数のアプリケーションから1つのMIDI入力ストリームを同時に開く
しかし私はアプリケーション(midiInOpen
を使用)と同時にMIDI入力ストリームにアクセスする商用アプリケーション(サードパーティ)の例を持っています。これは、MIDIストリームにアクセスする別の方法があることを示唆しています。
私はAPIコールを見るためにAPIスニファを使いましたが、このアプリケーションではmidiInOpen
を使用していません。 midiInMessage
とmidiOutMessage
を使用し、APIドキュメントからは、これらはドライバと直接通信しているようです。
MIDIの新しいサポートがWindows 10で提供されていることがドキュメントからわかります。私はまだmidiInOpen
を使用するアプリと一緒に動作する方法を実験していませんが、可能であればWindows 7以上で動作するソリューションを見つける必要があります。
私はサードパーティのアプリケーション開発者に連絡して助けてくれるかどうか確認しました。現在。私たちのアプリは彼らのアプリと一緒に機能しますが、midiInOpen
を使ってMIDIデータにアクセスする他のアプリもあり、私たちのアプリはそれらのアプリと共存できません。 midiInOpen
を呼び出す最初のアプリはMIDIストリームを取得します。 2番目の呼び出しは失敗します。
すべてのテストはWindows 7で行われています.7以上をサポートする必要があります。
私たちのMac版のアプリケーションはこの点で問題なく動作します。