IDirectSound8::SetSpeakerConfig Method
HRESULT SetSpeakerConfig(
DWORD dwSpeakerConfig
)
Parameters
- dwSpeakerConfig
- The speaker configuration. See the following remarks.
Return Value
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.
| Return code |
|---|
| DSERR_INVALIDPARAM |
| DSERR_UNINITIALIZED |
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.
Speaker Configurations
These tables contain the possible speaker configurations.
| Value | Description |
|---|---|
| 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.
| Value | Description |
|---|---|
| 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.