次の方法で共有


MIDI 出力デバイスのクエリ

MIDI ファイルを再生する前に、 midiOutGetDevCaps 関数を使用して、システムに存在する MIDI 出力デバイスの機能を決定する必要があります。 この関数は、特定のデバイスの機能に関する情報を入力する MIDIOUTCAPS 構造体のアドレスを受け取ります。 この情報には、製造元と製品の識別子、デバイスの製品名、デバイス ドライバーのバージョン番号 ( それぞれ wMidwPidszPnameおよび vDriverVersion メンバーで指定) が含まれます。

MIDI 出力デバイスは、内部シンセサイザーまたは外部 MIDI 出力ポートのいずれかです。 MIDIOUTCAPS 構造体の wTechnology メンバーは、デバイスのテクノロジを指定します。

デバイスが内部シンセサイザーの場合、追加のデバイス情報は wVoiceswNotesおよび wChannelMask メンバーで使用できます。 wVoices メンバーは、デバイスがサポートする音声の数を指定します。 各音声は、異なる音または音色を持つことができます。 音声は MIDI チャンネルに編成されます。 wNotes メンバーは、デバイスのポリフォニー (つまり、同時に再生できるノートの最大数) を指定します。 wChannelMask メンバーは、デバイスが応答する MIDI チャネルのビット表現です。 たとえば、デバイスが最初の 8 つの MIDI チャネルに応答する場合、 wChannelMask は0x00FF。 デバイスが外部出力ポートの場合、 wVoiceswNotes は使用されず、 wChannelMask は 0xFFFF に設定されます。

MIDIOUTCAPS 構造体の dwSupport メンバーは、デバイス ドライバーがボリュームの変更、パッチ キャッシュ、ストリーミングをサポートしているかどうかを示します。 ボリュームの変更は、内部シンセサイザー デバイスでのみサポートされます。 外部 MIDI 出力ポートでは、ボリュームの変更はサポートされていません。 音量の変更については、「 内部 MIDI シンセサイザーボリュームの変更」を参照してください。