IDirectSound3DListener8
The IDirectSound3DListener8 interface is used to retrieve and set parameters that describe a listener's position, orientation, and listening environment in 3-D space.
The interface can be obtained by calling the IDirectSoundBuffer8::QueryInterface method on a created with the DSBCAPS_CTRL3D flag. Applications that use audiopaths can obtain the interface from the audiopath as in the following code example, where pAudiopath is an IDirectMusicAudioPath8 interface pointer.
IDirectSound3DListener8 *pListener;
pAudioPath->GetObjectInPath(0, DMUS_PATH_PRIMARY_BUFFER,
0, GUID_All_Objects, 0, IID_IDirectSound3DListener,
(void **)&pListener)));
In addition to the methods inherited from IUnknown, the IDirectSound3DListener8 interface exposes the following methods.
Batch parameters
| Method |
Description |
| CommitDeferredSettings |
Commits any deferred settings made since the last call to this method. |
| GetAllParameters |
Retrieves the state of the 3-D world and listener. |
| SetAllParameters |
Sets all 3-D listener parameters from a given DS3DLISTENER structure that describes all aspects of the 3-D listener at a moment in time. |
Distance factor
| Method |
Description |
| GetDistanceFactor |
Retrieves the distance factor, which is the number of meters in a vector unit. |
| SetDistanceFactor |
Sets the distance factor, which is the number of meters in a vector unit. |
Doppler factor
Orientation
| Method |
Description |
| GetOrientation |
Retrieves the listener's orientation in vectors: a front vector and a top vector. |
| SetOrientation |
Sets the listener's orientation in terms of two vectors: a front vector and a top vector. |
Position
| Method |
Description |
| GetPosition |
Retrieves the listener's position in distance units. |
| SetPosition |
Sets the listener's position, in distance units. |
Rolloff factor
| Method |
Description |
| GetRolloffFactor |
Retrieves the rolloff factor, which determines the rate of attenuation over distance. |
| SetRolloffFactor |
Sets the rolloff factor, which determines the rate of attenuation over distance. |
Velocity
The LPDIRECTSOUND3DLISTENER type is defined as a pointer to the IDirectSound3DListener interface:
typedef struct IDirectSound3DListener *LPDIRECTSOUND3DLISTENER;
Requirements
Header: Declared in dsound.h.