The SetSpeakerConfig method specifies the speaker configuration of the device.
HRESULT SetSpeakerConfig( DWORD dwSpeakerConfig )
The speaker configuration. See the following remarks.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the error values shown in the following table.
In Windows Vista and later versions of Windows, SetSpeakerConfig is a NOP. For Windows Vista and later versions, the speaker configuration is a system setting that should not be modified by an application. End users can set the speaker configuration through control panels.
These tables contain the possible speaker configurations.
|DSSPEAKER_5POINT1_BACK||The audio is played through a speaker arrangement of five surround speakers with a subwoofer. (DSSPEAKER_5POINT1 is still defined, but is obsolete as of Windows Vista. Use DSSPEAKER_5POINT1_BACK instead.)|
|DSSPEAKER_5POINT1_SURROUND||The audio is played through a home theater speaker arrangement of five surround speakers with a subwoofer. This value applies to Windows Vista or later.|
|DSSPEAKER_DIRECTOUT||The audio is passed through directly, without being configured for speakers.|
|DSSPEAKER_HEADPHONE||The audio is played through headphones.|
|DSSPEAKER_MONO||The audio is played through a single speaker.|
|DSSPEAKER_QUAD||The audio is played through quadraphonic speakers.|
|DSSPEAKER_STEREO||The audio is played through stereo speakers (default value).|
|DSSPEAKER_SURROUND||The audio is played through surround speakers.|
|DSSPEAKER_7POINT1_WIDE||The audio is played through a wide speaker arrangement of seven surround speakers with a subwoofer. (DSSPEAKER_7POINT1 is still defined, but is obsolete as of Windows XP SP 2. Use DSSPEAKER_7POINT1_WIDE instead.)|
|DSSPEAKER_7POINT1_SURROUND||The audio is played through a home theater speaker arrangement of seven surround speakers with a subwoofer. This value applies to Windows XP SP2 or later.|
DSSPEAKER_STEREO can be combined with one of the values shown in the following table.
|DSSPEAKER_GEOMETRY_WIDE||The speakers are directed over an arc of 20 degrees.|
|DSSPEAKER_GEOMETRY_NARROW||The speakers are directed over an arc of 10 degrees.|
|DSSPEAKER_GEOMETRY_MIN||The speakers are directed over an arc of 5 degrees.|
|DSSPEAKER_GEOMETRY_MAX||The speakers are directed over an arc of 180 degrees.|
If a geometry value is to be used, it must be packed in a DWORD along with the DSSPEAKER_STEREO flag. This can be done by using the DSSPEAKER_COMBINED macro, as in the following C++ example:
lpds->SetSpeakerConfig(DSSPEAKER_COMBINED( DSSPEAKER_STEREO, DSSPEAKER_GEOMETRY_WIDE));
To use #defines implemented in Windows Vista, set the DIRECTSOUND_VERSION to 0x1000 before including dsound.h.
Header: Declared in DSound.h.
Library: Use Dsound3d.dll.