Microsoft DirectX 8.0 (C++)

IDirectSound3DBuffer8::SetVelocity

Sets the velocity of the sound source.

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

Parameters

x, y, and z
Values that specify the coordinates of the velocity vector. DirectSound may adjust these values to prevent floating-point overflow.
dwApply
Value that specifies 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 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.

Remarks

Velocity is used only for calculating Doppler effect. It does not change the position of the buffer. For more information, see Doppler Factor.

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

Requirements

  Header: Declared in dsound.h.

See Also

IDirectSound3DBuffer8::SetPosition, IDirectSound3DBuffer8::GetVelocity