Partager via


DirectSound Interfaces

[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.]

This section contains reference information about interfaces provided by the Microsoft DirectSound API.

Function Description
IDirectSound8 Used to create buffer objects and set up the environment.
IDirectSound3DBuffer8 Used to retrieve and set parameters that describe the position, orientation, and environment of a sound buffer in 3-D space.
IDirectSound3DListener8 Used to retrieve and set parameters that describe a listener's position, orientation, and listening environment in 3-D space.
IDirectSoundBuffer8 Used to manage sound buffers.
IDirectSoundCapture8 Used to create sound capture buffers.
IDirectSoundCaptureBuffer8 Used to manipulate sound capture buffers.
IDirectSoundCaptureFXAec8 Used to set and retrieve parameters on a capture buffer that supports acoustic echo cancellation.
IDirectSoundCaptureFXNoiseSuppress8 Used to set and retrieve parameters on a capture buffer that supports noise suppression.
IDirectSoundFullDuplex8 Represents a full-duplex stream.
IDirectSoundFXChorus8 Used to set and retrieve effect parameters on a buffer that supports chorus.
IDirectSoundFXCompressor8 Used to set and retrieve effect parameters on a buffer that supports compression.
IDirectSoundFXDistortion8 Used to set and retrieve effect parameters on a buffer that supports distortion.
IDirectSoundFXEcho8 Used to set and retrieve effect parameters on a buffer that supports echo.
IDirectSoundFXFlanger8 Used to set and retrieve effect parameters on a buffer that supports flange.
IDirectSoundFXGargle8 Used to set and retrieve effect parameters on a buffer that supports amplitude modulation.
IDirectSoundFXI3DL2Reverb8 Used to set and retrieve effect parameters on a buffer that supports I3DL2 (Interactive 3D Audio Level 2) reverberation effects.
IDirectSoundFXParamEq8 Used to set and retrieve effect parameters on a buffer that supports parametric equalizer effects.
IDirectSoundFXWavesReverb8 Used to set and retrieve effect parameters on a buffer that supports Waves reverberation effects.
IDirectSoundNotify8 Sets up notification events for a playback or capture buffer.
IKsPropertySet Enables drivers to provide extended capabilities that can be used without API extensions.

For DirectX 8.0 and later, only IDirectSound8, IDirectSoundBuffer8, and IDirectSoundCaptureBuffer8 are new interfaces that supersede interfaces with similar, unnumbered names. Other interface names ending in 8 are simple defines for unchanged or new unnumbered interfaces. For example, IDirectSoundCapture8 is exactly equivalent to IDirectSoundCapture.

All interfaces that have a defined name ending in 8 are documented under that defined name, and it is recommended that you always use this name in your code.

For information on which methods are supported by an earlier version of an interface, see the declaration of the interface in Dsound.h.

When a method takes an interface pointer as an in parameter, you can pass in the newer version even where the parameter type is declared as the earlier version. For example, a pointer to either IDirectSoundBuffer or IDirectSoundBuffer8 can be passed to IDirectSound8::DuplicateSoundBuffer as the pDSBufferOriginal parameter.

When a method returns an interface, however, it is usually the earlier interface, and to obtain the newer interface you must use QueryInterface. This is the case, for example, with the ppDSBuffer parameter of IDirectSound8::CreateSoundBuffer.