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


Функция waveOutSetVolume (mmeapi.h)

Функция waveOutSetVolume задает уровень громкости указанного устройства вывода waveform-audio.

Синтаксис

MMRESULT waveOutSetVolume(
  HWAVEOUT hwo,
  DWORD    dwVolume
);

Параметры

hwo

Дескриптор открытого устройства вывода waveform-audio. Этот параметр также может быть идентификатором устройства.

dwVolume

Новый параметр тома. Слово нижнего порядка содержит параметр громкости левого канала, а слово высокого порядка — параметр правого канала. Значение 0xFFFF представляет полный объем, а значение 0x0000 — тишину.

Если устройство не поддерживает левое и правое управление громкостью, слово dwVolume нижнего порядка указывает уровень громкости, а слово высокого порядка игнорируется.

Возвращаемое значение

Возвращает MMSYSERR_NOERROR в случае успешного выполнения или ошибку в противном случае. Возможные значения ошибок:

Код возврата Описание
MMSYSERR_INVALHANDLE
Указан недопустимый дескриптор устройства.
MMSYSERR_NODRIVER
Отсутствует драйвер устройства.
MMSYSERR_NOMEM
Не удается выделить или заблокировать память.
MMSYSERR_NOTSUPPORTED
Функция не поддерживается.

Комментарии

Если используется идентификатор устройства, результат вызова 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

См. также раздел

Звуковой сигнал

Функции волнообразной формы