Adding listener's location effects to the Symbian C++ audio player
The S60 platform has several audio enhancement APIs that can be used to modify the audio experience. One of them is the CListenerLocation API. This API makes the listener's location for the audio source appear to change.
This snippet can be self-signed.
The audio player must be fully constructed before constructing the instance of the API. This can be done with the following lines of code:
The following capabilities and libraries are required:
First you need to construct the reverb utility instance:
iListener = CListenerLocation::NewL( *iMdaAudioPlayerUtility );
To set the listener's location effect on, you need to set the X,Y, and Z coordinates for the listener, and then enable and apply the effect on the player.
iListener->SetLocationCartesianL( iPositionX, iPositionY, iPositionZ );
You can also add a 3D effect by having a timer that periodically changes the coordinates of the effect.
To set the listeners location effect off, just call the following line of code: