Effect Parameters


To set or retrieve parameters of sound effects, you must first obtain the appropriate effect object from the buffer that contains the effect.

Objects of the following classes give you access to parameters of the Microsoft DirectX Media Objects (DMOs) supplied with DirectX.

To retrieve an effect object, use the SecondaryBuffer.GetEffects method. This method can retrieve a single object or an array of objects.

The following Microsoft Visual Basic sample code retrieves an EchoEffect object representing the first effect set on a buffer, and sets two parameters on the effect. Assume that fxBuffer is a SecondaryBuffer object.
[Visual Basic]
Dim echoFx As EchoEffect Dim echoParams As EffectsEcho echoFx = fxBuffer.GetEffects(0) echoParams = echoFx.AllParameters echoParams.LeftDelay = 500 echoParams.RightDelay = 500 echoFx.AllParameters = echoParams

Effect parameters can be changed while the buffer is playing.

For efficiency, Microsoft DirectSound preprocesses 100 milliseconds of sound data in a buffer, starting at the play cursor, before SecondaryBuffer.Play is called. This can happen after any of the following calls.

If you call any of these methods and then change effect parameters, the new parameters will not be heard until the preprocessed data has been played. To avoid this situation, do one of the following:


Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center