Изменение внутреннего тома синтезатора MIDI
Windows предоставляет следующие функции для получения и настройки уровня громкости внутренних устройств синтезатора MIDI:
Значение | Значение |
---|---|
midiOutGetVolume | Извлекает уровень громкости указанного внутреннего синтезатора MIDI. |
midiOutSetVolume | Задает уровень громкости указанного внутреннего синтезатора MIDI. |
Не все устройства вывода MIDI поддерживают изменение тома. Некоторые устройства могут поддерживать отдельные изменения тома как в левом, так и в правом каналах. Сведения о том, как определить, поддерживает ли конкретное устройство изменение тома, см. в разделе Запросы устройств вывода MIDI.
Если приложение не предназначено для master приложения для управления громкости (предоставляет пользователю управление громкости для всех звуковых устройств в системе), необходимо открыть звуковое устройство перед изменением его громкости. Необходимо также проверка уровень тома перед его изменением и как можно скорее восстановить уровень тома до предыдущего уровня.
Volume указывается как значение двойного слова. Верхние 16 бит указывают относительный объем правого канала, а нижние 16 бит — относительный объем левого канала.
Для устройств, которые не поддерживают отдельные изменения тома в левом и правом каналах, нижние 16 бит указывают уровень громкости, а верхние 16 бит игнорируются. Значения уровня громкости варьируются от 0x0 (тишина) до 0xFFFF (максимальный объем) и интерпретируются логарифмически. Предполагаемое увеличение объема одинаково при увеличении уровня громкости с 0x5000 до 0x6000, как и с 0x4000 до 0x5000.