Microsoft DirectX 9.0


The SetVelocity method sets the listener's velocity.


HRESULT SetVelocity(
  D3DVALUE x, 
  D3DVALUE y, 
  D3DVALUE z, 
  DWORD dwApply 


x, y, and z

Values that specify the coordinates of the listener's velocity vector. DirectSound may adjust these values to prevent floating-point overflow. D3DVALUE is defined as float.


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

Value Description
DS3D_DEFERRED Settings are not applied until the application calls the IDirectSound3DListener8::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.


Velocity is used only for Doppler effects. It does not actually move the listener. To change the listener's position, use the IDirectSound3DListener8::SetPosition method. The default velocity is (0,0,0).

By default, measurement units are meters per second, but this can be changed by calling the IDirectSound3DListener8::SetDistanceFactor method.


  Header: Declared in dsound.h.

See Also