Platform SDK: DirectX

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.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in dsound.h.
  Import Library: Use dsound.lib.

See Also

IDirectSound3DBuffer::SetPosition, IDirectSound3DBuffer::GetVelocity