IDirectSoundBuffer::SetVolume

[The feature associated with this page, DirectSound, is a legacy feature. It has been superseded by XAudio2 and Audio Graphs. These newer frameworks have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use XAudio2 and Audio Graphs instead of DirectSound, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

This method changes the volume of a sound buffer.

Syntax

HRESULT SetVolume( LONG lVolume );

Parameters

  • lVolume
    New volume requested for this sound buffer.

Return Value

If the method succeeds, the return value is DS_OK.

If the method fails, the return value may be one of the following error values:

DSERR_CONTROLUNAVAIL
DSERR_GENERIC
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED

Remarks

The volume is specified in hundredths of decibels (dB). Allowable values are between DSBVOLUME_MAX (no attenuation) and DSBVOLUME_MIN (silence). These values are currently defined in Dsound.h as 0 and -10,000 respectively. The value DSBVOLUME_MAX represents the original, unadjusted volume of the stream. The value DSBVOLUME_MIN indicates an audio volume attenuated by 100 dB, which, for all practical purposes, is silence. Currently DirectSound does not support amplification.

Requirements

Header: Declared in DSound.h.

Library: Use Dsound.lib.

See Also

IDirectSoundBuffer
IDirectSoundBuffer::GetPan
IDirectSoundBuffer::GetVolume
IDirectSoundBuffer::SetPan