Using Effects

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

DirectX provides support for effects processing of sounds by DirectX Media Objects (DMOs). A standard set of effects is available to every DirectX application. Other DMOs can be registered on the system. All the standard DMOs can process 8-bit or 16-bit PCM data, as well as 32-bit floating-point formats.

To implement effects, a DirectSound application must first call CoInitialize to initialize COM. Doing so does not preclude creating the device object by using DirectSoundCreate8.

Using the DirectSound API, it is not possible to create chains of effects, where the output of multiple buffers is mixed into another buffer containing an effect.

To take advantage of hardware-specific effects, use the IKsPropertySet interface.

The following topics contain information on setting up and using effects: