Функция midiOutSetVolume (mmeapi.h)
Функция midiOutSetVolume задает объем устройства вывода MIDI.
Синтаксис
MMRESULT midiOutSetVolume(
HMIDIOUT hmo,
DWORD dwVolume
);
Параметры
hmo
Обработка на открытом устройстве вывода MIDI. Этот параметр также может содержать дескриптор MIDI-потока, если он приведен к HMIDIOUT. Этот параметр также может быть идентификатором устройства.
dwVolume
Новый параметр тома. Слово низкого порядка содержит параметр громкости левого канала, а слово высокого порядка — параметр правого канала. Значение 0xFFFF представляет полный объем, а значение 0x0000 — тишину.
Если устройство не поддерживает как левое, так и правое управление громкостью, слово dwVolume низкого порядка задает уровень моно тома, а слово высокого порядка игнорируется.
Возвращаемое значение
Возвращает MMSYSERR_NOERROR в случае успешного выполнения или ошибку в противном случае. Возможные значения ошибок:
Код возврата | Описание |
---|---|
|
Указанный дескриптор устройства недопустим. |
|
Системе не удается выделить или заблокировать память. |
|
Функция не поддерживается. |
Комментарии
Если используется идентификатор устройства, результат вызова midiOutSetVolume применяется ко всем экземплярам устройства. Если используется дескриптор устройства, результат применяется только к экземпляру устройства, на который ссылается дескриптор устройства.
Не все устройства поддерживают изменение тома. Вы можете определить, поддерживает ли устройство его, запросив его с помощью функции midiOutGetDevCaps и флага MIDICAPS_VOLUME.
Вы также можете определить, поддерживает ли устройство управление громкостями в левом и правом каналах, запросив устройство с помощью функции midiOutGetDevCaps и флага MIDICAPS_LRVOLUME.
Устройства, которые не поддерживают полный 16-разрядный элемент управления на уровне тома, используют биты высокого порядка запрошенного параметра тома. Например, устройство, поддерживающее 4 бита регулятора громкости, создает один и тот же параметр тома для следующих значений уровня тома: 0x4000, 0x43be и 0x4fff. Функция midiOutGetVolume возвращает полное 16-разрядное значение, заданное midiOutSetVolume, независимо от возможностей устройства.
Параметры тома интерпретируются логарифмически. Это означает, что предполагаемое увеличение объема одинаково при увеличении уровня громкости от 0x5000 до 0x6000, как и от 0x4000 до 0x5000.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | mmeapi.h (включая Windows.h) |
Библиотека | Winmm.lib |
DLL | Winmm.dll |