Platform SDK: DirectX

Architectural Overview for DirectSound

DirectSound implements a new model for playing and capturing digital sound samples and mixing sample sources. Like other elements of the DirectX API, DirectSound uses the hardware to its greatest advantage whenever possible, and it emulates hardware features in software when the feature is not present in the hardware.

[C++]

DirectSound playback is built on the IDirectSound Component Object Model (COM) interface and on other interfaces for manipulating sound buffers and 3-D effects. These interfaces are IDirectSoundBuffer, IDirectSound3DBuffer, and IDirectSound3DListener.

DirectSound capture is based on the IDirectSoundCapture and IDirectSoundCaptureBuffer COM interfaces.

Another COM interface, IKsPropertySet, provides methods that allow applications to take advantage of extended capabilities of sound cards, even those introduced in the future.

Finally, the IDirectSoundNotify interface is used to signal events when playback or capture has reached a certain point in a buffer.

For more information about COM concepts that you should understand to create applications with the DirectX APIs, see The Component Object Model.

[Visual Basic]

DirectSound playback is built on the DirectSound class and on other classes for manipulating sound buffers and 3-D effects. These classes are DirectSoundBuffer, DirectSound3DBuffer, and DirectSound3DListener.

DirectSound capture is based on the DirectSoundCapture and DirectSoundCaptureBuffer classes.

Finally, the DirectXEvent class is used in conjunction with events created through the DirectX7.CreateEvent method to signal events when playback or capture has reached a certain point in a buffer.