Функция waveOutSetVolume

Declare Function waveOutSetVolume Lib "winmm" (ByVal uDeviceID As Long, ByVal dwVolume As Long) As Long

waveOutSetVolume устанавливает уровень громкости звука при его воспроизведении. Если устройство имеет возможность, функция способна устанавливать громкость отдельно для правого и левого каналов. Уровень громкости находится в диапазоне от &H0 (тишина) до &HFFFF (максимальный уровень). Промежуточные значения интерпретируются в логарифмическом масштабе.

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

В успешном случае функция возвращает MMSYSERR_NOERROR. В случае ошибки возвращаются следующие значения:
Значение Описание
MMSYSERR_INVALHANDLE Указан неправильный идентификатор устройства
MMSYSERR_NODRIVER В системе нет нужного драйвера
MMSYSERR_NOMEM Unable to allocate or lock memory
MMSYSERR_NOTSUPPORTED Функция не поддерживается драйвером

Параметры

uDeviceID
Идентификатор или описатель устройства
dwVolume
Новые установки громкости звука. Если поддерживаются раздельные настройки, то младшее слово определяет громкость левого канала, а старшее слово - правого. Если не поддерживается, то старшее слово игнорируется, а младшее слово определяет общую громкость

Пример

' Установим уровень громкости
' устройства #0 на 50% максимальной громкости
Dim retval As Long ' возвращаемое значение

' Существует ли устройство воспроизведения звука
' Получаем число доступных устройств
retval = waveOutGetNumDevs()
If retval >= 1 Then  ' да, существует!
' Устанавливаем громкость на &H7FFF (50%)
retval = waveOutSetVolume(0, &H7FFF7FFF) ' для обоих каналов
End If

Смотри также

waveOutGetVolume

Категория

Звук