IDirectSound3DListener8::SetVelocity

The SetVelocity method sets the listener's velocity.

HRESULT SetVelocity(
  D3DVALUE x, y, and z,
  D3DVALUE y,
  D3DVALUE z,
  DWORD dwApply
);

Parameters

x, y, and z
Value that specifies the x coordinate of the listener's velocity vector. DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
y
Value that specifies the y coordinate of the listener's velocity vector. DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
z
Value that specifies the z coordinate of the listener's velocity vector. DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
dwApply
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 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 3D coordinates for all 3D 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 only for Doppler effects. It does not actually move the listener. To change the listener's position, use the 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 SetDistanceFactor method.

Requirements

Header: Declared in Dsound.h.

Import Library: Use Dsound3d.dll.

See Also

IDirectSound3DListener8