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 | Функция не поддерживается драйвером |
' Установим уровень громкости ' устройства #0 на 50% максимальной громкости Dim retval As Long ' возвращаемое значение ' Существует ли устройство воспроизведения звука ' Получаем число доступных устройств retval = waveOutGetNumDevs() If retval >= 1 Then ' да, существует! ' Устанавливаем громкость на &H7FFF (50%) retval = waveOutSetVolume(0, &H7FFF7FFF) ' для обоих каналов End If