Функция waveOutSetVolume (mmeapi.h)
Функция waveOutSetVolume задает уровень громкости указанного устройства вывода waveform-audio.
Синтаксис
MMRESULT waveOutSetVolume(
HWAVEOUT hwo,
DWORD dwVolume
);
Параметры
hwo
Дескриптор открытого устройства вывода waveform-audio. Этот параметр также может быть идентификатором устройства.
dwVolume
Новый параметр тома. Слово нижнего порядка содержит параметр громкости левого канала, а слово высокого порядка — параметр правого канала. Значение 0xFFFF представляет полный объем, а значение 0x0000 — тишину.
Если устройство не поддерживает левое и правое управление громкостью, слово dwVolume нижнего порядка указывает уровень громкости, а слово высокого порядка игнорируется.
Возвращаемое значение
Возвращает MMSYSERR_NOERROR в случае успешного выполнения или ошибку в противном случае. Возможные значения ошибок:
Код возврата | Описание |
---|---|
|
Указан недопустимый дескриптор устройства. |
|
Отсутствует драйвер устройства. |
|
Не удается выделить или заблокировать память. |
|
Функция не поддерживается. |
Комментарии
Если используется идентификатор устройства, результат вызова waveOutSetVolume применяется ко всем экземплярам устройства. Если используется дескриптор устройства, результат применяется только к экземпляру устройства, на которое ссылается дескриптор устройства.
Не все устройства поддерживают изменение тома. Чтобы определить, поддерживает ли устройство управление громкостями, используйте флаг WAVECAPS_VOLUME для тестирования члена dwSupport структуры WAVEOUTCAPS (заполненной функцией waveOutGetDevCaps ). Чтобы определить, поддерживает ли устройство управление громкость в левом и правом каналах, используйте флаг WAVECAPS_LRVOLUME.
Большинство устройств не поддерживают полные 16 бит управления на уровне тома и не будут использовать наименьшие биты запрошенного параметра тома. Например, если устройство поддерживает 4 бита управления громкостей, значения 0x4000, 0x4FFF и 0x43BE будут усечены до 0x4000. Функция waveOutGetVolume возвращает полный набор 16-разрядных параметров с помощью функции waveOutSetVolume.
Параметры тома интерпретируются логарифмически. Это означает, что предполагаемое увеличение объема будет одинаковым при увеличении уровня громкости с 0x5000 до 0x6000 как с 0x4000 до 0x5000.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | mmeapi.h (включая Windows.h) |
Библиотека | Winmm.lib |
DLL | Winmm.dll |