Platform SDK: DirectX

IDirectSound3DBuffer::SetPosition

The IDirectSound3DBuffer::SetPosition method sets the sound buffer's current position, in distance units. By default, distance units are meters, but the units can be changed by using the IDirectSound3DListener::SetDistanceFactor method.

HRESULT SetPosition(
  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 position 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.

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.