Поделиться через


Запрос данных об устройствах вывода MIDI

Перед воспроизведением MIDI-файла следует использовать функцию midiOutGetDevCaps для определения возможностей выходного устройства MIDI, присутствующих в системе. Эта функция принимает адрес структуры MIDIOUTCAPS, которая заполняется сведениями о возможностях данного устройства. Эта информация включает идентификаторы производителя и продукта, название продукта для устройства и номер версии драйвера устройства (указанные в членах wMid, wPid, szPnameи vDriverVersion соответственно).

Устройства вывода MIDI могут быть внутренними синтезаторами или внешними портами вывода MIDI. Элемент wTechnology структуры MIDIOUTCAPS указывает технологию устройства.

Если устройство является внутренним синтезатором, дополнительные сведения об устройстве доступны в членах wVoices, wNotesи wChannelMask. Элемент wVoices указывает количество голосов, поддерживаемых устройством. Каждый голос может иметь другой звук или тембр. Голоса организованы в каналы MIDI. Элемент wNotes указывает полифонию устройства, то есть максимальное количество нот, которые можно одновременно проигрывать. Элемент wChannelMask является битовым представлением MIDI-каналов, на которые реагирует устройство. Например, если устройство реагирует на первые восемь каналов MIDI, wChannelMask равно 0x00FF. Если устройство является внешним портом вывода, wVoices и wNotes не используются, а wChannelMask имеет значение 0xFFFF.

dwSupport член структуры MIDIOUTCAPS указывает, поддерживает ли драйвер устройства изменения громкости, кэширование патчей и потоковую передачу. Изменения тома поддерживаются только встроенными синтезаторами. Внешние порты вывода MIDI не поддерживают изменения громкости. Сведения об изменении громкости внутреннего синтезатора MIDI см. в .