Adding doppler effects to the audio player in Symbian C++
hamishwillee
(Talk | contribs) m (Hamishwillee - Bot update - Fix links) |
|||
| (9 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
| − | + | [[Category:Symbian C++]][[Category:Code Examples]][[Category:Multimedia]][[Category:Audio]][[Category:Code Snippet]] | |
| − | + | {{ArticleMetaData <!-- v1.2 --> | |
| − | {{ | + | |sourcecode= [[Media:3D AudioEfects.zip]] |
| − | + | |installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | |
| − | | | + | |devices= Nokia N95 |
| − | |platform=S60 3rd Edition | + | |sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> |
| − | |devices= | + | |platform= S60 3rd Edition |
| − | |category= | + | |devicecompatability= <!-- Compatible devices (e.g.: All* (must have GPS) ) --> |
| − | | | + | |dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 --> |
| − | |creationdate= | + | |signing= Self-Signed |
| − | | | + | |capabilities= None |
| + | |keywords= CSourceDoppler | ||
| + | |language= <!-- Language category code for non-English topics - e.g. Lang-Chinese --> | ||
| + | |translated-by= <!-- [[User:XXXX]] --> | ||
| + | |translated-from-title= <!-- Title only --> | ||
| + | |translated-from-id= <!-- Id of translated revision --> | ||
| + | |review-by= <!-- After re-review: [[User:username]] --> | ||
| + | |review-timestamp= <!-- After re-review: YYYYMMDD --> | ||
| + | |update-by= <!-- After significant update: [[User:username]]--> | ||
| + | |update-timestamp= <!-- After significant update: YYYYMMDD --> | ||
| + | |creationdate= 20081009 | ||
| + | |author= [[User:Technical writer 1]] | ||
| + | <!-- The following are not in current metadata --> | ||
| + | |id= CS001130 | ||
}} | }} | ||
| − | |||
==Overview== | ==Overview== | ||
| Line 22: | Line 34: | ||
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 audio player must be fully constructed before constructing the instance of the API. This can be done with the following lines of code: | ||
| − | <code> | + | <code cpp> |
iMdaAudioPlayerUtility = | iMdaAudioPlayerUtility = | ||
CMdaAudioPlayerUtility::NewFilePlayerL( aFileName, | CMdaAudioPlayerUtility::NewFilePlayerL( aFileName, | ||
| Line 34: | Line 46: | ||
The following capabilities and libraries are required: | The following capabilities and libraries are required: | ||
| − | CAPABILITY NONE | + | CAPABILITY NONE |
| − | + | LIBRARY DopplerBase.lib | |
| − | LIBRARY | + | HEADER SourceDopplerBase.h |
| − | + | ||
| − | + | ||
| Line 44: | Line 54: | ||
First you need to construct the reverb utility instance: | First you need to construct the reverb utility instance: | ||
| − | <code> | + | <code cpp> |
iDopplerEffect = CSourceDoppler::NewL( *iMdaAudioPlayerUtility ); | iDopplerEffect = CSourceDoppler::NewL( *iMdaAudioPlayerUtility ); | ||
</code> | </code> | ||
| − | To set the doppler effect on, you need to set the doppler effect factor. The factor needs to be between 0 and | + | To set the doppler effect on, you need to set the doppler effect factor. The factor needs to be between 0 and {{Icode|FactorMax()}}. After this, you can enable and apply the effect to the player. |
| − | <code> | + | <code cpp> |
iDopplerEffect->SetFactorL(iDopplerEffect->FactorMax()); | iDopplerEffect->SetFactorL(iDopplerEffect->FactorMax()); | ||
| Line 61: | Line 71: | ||
To set the source location effect off, just call the following line of code: | To set the source location effect off, just call the following line of code: | ||
| − | <code> | + | <code cpp> |
iDopplerEffect->DisableL(); | iDopplerEffect->DisableL(); | ||
</code> | </code> | ||
| Line 68: | Line 78: | ||
==Test application == | ==Test application == | ||
| − | [[ | + | [[File:3D AudioEfects.zip]] |
==See also== | ==See also== | ||
| − | [[ | + | * [[Adding source location effects to the Symbian C++ audio player]] |
| − | + | * [[Adding listener's location effects to the Symbian C++ audio player]] | |
| − | [[ | + | * [[Adding bass boost to the Symbian C++ audio player]] |
| − | + | * [[Adding stereo widening to the Symbian C++ audio player]] | |
| − | [[ | + | * [[Adding reverb to the Symbian C++ audio player]] |
| − | + | * [[Adding equalizer to the Symbian C++ audio player]] | |
| − | [[ | + | |
| − | + | ||
| − | [[ | + | |
| − | + | ||
| − | [[ | + | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
Revision as of 04:51, 4 July 2012
Article Metadata
Code Example
Tested with
Compatibility
Platform Security
Article
Contents |
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
- Adding source location effects to the Symbian C++ audio player
- Adding listener's location effects to the Symbian C++ audio player
- Adding bass boost to the Symbian C++ audio player
- Adding stereo widening to the Symbian C++ audio player
- Adding reverb to the Symbian C++ audio player
- Adding equalizer to the Symbian C++ audio player

