IDirectSound3DBuffer::SetVelocity

The IDirectSound3DBuffer::SetVelocity method sets the sound buffer's current velocity.

HRESULT SetVelocity(

D3DVALUE x,

D3DVALUE y,

D3DVALUE z,

DWORD dwApply

);

Parameters

x, y, and z

Values whose types are D3DVALUE and that represent the coordinates of the new velocity vector. Note that Directsound may adjust these values to prevent floating-point overflow.

dwApply

Value indicating when the setting should be applied. This value must be one of the following:

DS3D_DEFERRED Settings are not applied until the application calls the IDirectSound3DListener::CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation.
DS3D_IMMEDIATE Settings are applied immediately, causing the system to recalculate the 3-D coordinates for all 3-D sound buffers.

Return Values

If the method succeeds, the return value is DS_OK.

If the method fails, the return value may be DSERR_INVALIDPARAM.

Remarks

Velocity is used for Doppler effects only. It does not actually move the buffer. For additional information, see Doppler Factor.

The default unit of measurement is meters per second, but this can be changed by using the IDirectSound3DListener::SetDistanceFactor method.

See Also

IDirectSound3DBuffer::SetPosition, IDirectSound3DBuffer::GetVelocity