Adding doppler effects to the audio player in Symbian C++
m (Protected "CS001130 - Adding doppler effects to the audio player" [edit=sysop:move=sysop]) |
|||
| Line 84: | Line 84: | ||
[[CS001136 - Adding equalizer to the audio player]] | [[CS001136 - Adding equalizer to the audio player]] | ||
| − | |||
[[Category:Symbian C++]] | [[Category:Symbian C++]] | ||
[[Category:Code Examples]] | [[Category:Code Examples]] | ||
[[Category:Multimedia]] | [[Category:Multimedia]] | ||
[[Category:Audio]] | [[Category:Audio]] | ||
Revision as of 15:29, 9 October 2008
Article Metadata
Tested with
Compatibility
Article
Overview
The S60 platform has several audio enhancement APIs that can be used to modify the audio experience. One of them is the CSourceDoppler API. This API makes the audio source appear to either move towards or away from the listener.
This snippet can be self-signed.
Preconditions
The audio player must be fully constructed before constructing the instance of the API. This can be done with the following lines of code:
iMdaAudioPlayerUtility =
CMdaAudioPlayerUtility::NewFilePlayerL( aFileName,
*this,
EMdaPriorityNormal,
EMdaPriorityPreferenceTimeAndQuality);
MMP file
The following capabilities and libraries are required:
CAPABILITY NONE
LIBRARY DopplerBase.lib
HEADER SourceDopplerBase.h
Source file
First you need to construct the reverb utility instance:
iDopplerEffect = CSourceDoppler::NewL( *iMdaAudioPlayerUtility );
To set the doppler effect on, you need to set the doppler effect factor. The factor needs to be between 0 and FactorMax(). After this, you can enable and apply the effect to the player.
iDopplerEffect->SetFactorL(iDopplerEffect->FactorMax());
if(!iDopplerEffect ->IsEnabled())
iDopplerEffect ->EnableL();
iDopplerEffect ->ApplyL();
You can also add a 3D effect by using a timer that periodically changes the effect factor of the effect.
To set the source location effect off, just call the following line of code:
iDopplerEffect->DisableL();
Test application
See also
CS001131 - Adding source location effects to the audio player
CS001132 - Adding listener's location effects to the audio player
CS001133 - Adding bass boost to the audio player
CS001134 - Adding stereo widening to the audio player

