Изменение громкости внутреннего синтезатора MIDI

Windows предоставляет следующие функции для получения и задания уровня тома внутренних устройств синтезатора MIDI:

Ценность Значение
midiOutGetVolume Извлекает уровень громкости указанного встроенного MIDI-синтезатора.
midiOutSetVolume Устанавливает уровень громкости указанного внутреннего синтезатора MIDI.

 

Не все устройства вывода MIDI поддерживают изменения громкости. Некоторые устройства могут поддерживать отдельные изменения уровня громкости как в левом, так и в правом канале. Сведения о том, как определить, поддерживает ли конкретное устройство изменения громкости, см. в разделе «Запросы устройств вывода MIDI» .

Если приложение не предназначено для главного приложения управления громкостями (предоставляет пользователю управление громкостями для всех звуковых устройств в системе), перед изменением громкости следует открыть звуковое устройство. Перед изменением громкости проверьте текущий уровень и по возможности восстановите его до первоначального уровня как можно скорее.

Объем указывается в качестве значения двоичного слова. Верхние 16 бит указывают относительный объем правого канала, а нижние 16 биты указывают относительный объем левого канала.

Для устройств, которые не поддерживают отдельные изменения тома в левых и правых каналах, нижние 16 бит указывают уровень тома и верхние 16 бит игнорируются. Значения для диапазона уровня тома от 0x0 (молчание) до 0xFFFF (максимальный объем) и интерпретируются логарифмически. Восприятие увеличения громкости такое же при повышении уровня громкости с 0x5000 до 0x6000, как и с 0x4000 до 0x5000.