Microsoft DirectX 8.1 (C++) |
When there are no sounds playing, DirectSound stops the mixer engine and halts DMA (direct memory access) activity. If your application has frequent short intervals of silence, the overhead of starting and stopping the mixer each time a sound is played may be worse than the DMA overhead if you kept the mixer active. Also, some sound hardware or drivers may produce unwanted audible artifacts from frequent starting and stopping of playback.
If your application is playing audio almost continuously with only short breaks of silence, you can force the mixer engine to remain active by calling the IDirectSoundBuffer8::Play method for the primary buffer.
To resume the default behavior of stopping the mixer engine when there are no sounds playing, call the IDirectSoundBuffer8::Stop method for the primary buffer.