Changing the Volume of Waveform Audio Playback

The following table shows Windows CE functions that query and set the volume level of waveform audio output devices.

Function
Description
waveOutGetVolume Returns the current volume level of the specified waveform-audio output device
waveOutSetVolume Sets the volume level of the specified waveform audio output device

Volume is specified in a DWORD value. In a stereo audio format, the upper 16 bits specify the relative volume of the right channel. The lower 16 bits specify the relative volume of the left channel. For devices that do not support separate volume control for the different channels, Windows CE uses the lower 16 bits to specify the volume level and ignores the upper 16 bits.

Windows CE uses volume ranges from 0x0 (silence) through 0xFFFF (maximum volume) and interprets these ranges logarithmically. The perceived volume increase is the same when increasing the volume level from 0x5000 through 0x6000 as it is from 0x4000 through 0x5000.