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


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

Функция waveOutGetVolume извлекает текущий уровень громкости указанного устройства вывода волны-аудио.

Синтаксис

MMRESULT waveOutGetVolume(
  HWAVEOUT hwo,
  LPDWORD  pdwVolume
);

Параметры

hwo

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

pdwVolume

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

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

Возвращаются полные 16-разрядные параметры, заданные с функцией waveOutSetVolume , независимо от того, поддерживает ли устройство полные 16 битов управления на уровне громкости.

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

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

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

Комментарии

Если используется идентификатор устройства, то результат вызова waveOutGetVolume и сведения, возвращаемые в pdwVolume , применяются ко всем экземплярам устройства. Если используется дескриптор устройства, то возвращаемые результаты и сведения применяются только к экземпляру устройства, на которое ссылается дескриптор устройства.

Не все устройства поддерживают изменение тома. Чтобы определить, поддерживает ли устройство управление громкостями, используйте флаг WAVECAPS_VOLUME для тестирования члена dwSupport структуры WAVEOUTCAPS (заполненной функцией waveOutGetDevCaps ).

Чтобы определить, поддерживает ли устройство управление громкостями в левом и правом каналах, используйте флаг WAVECAPS_LRVOLUME для тестирования элемента dwSupport структуры WAVEOUTCAPS (заполненного waveOutGetDevCaps).

Параметры тома интерпретируются логарифмически. Это означает, что предполагаемое увеличение объема будет одинаковым при увеличении уровня громкости с 0x5000 до 0x6000 как с 0x4000 до 0x5000.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header mmeapi.h (включая Windows.h)
Библиотека Winmm.lib
DLL Winmm.dll

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

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

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