Adding source location effects to the Symbian C++ audio player
hamishwillee
(Talk | contribs) m (Removed protection from "CS001131 - Adding source location effects to the audio player") |
hamishwillee
(Talk | contribs) m (Hamishwillee - Bot update - Merge KB into wiki) |
||
| Line 1: | Line 1: | ||
| − | + | {{ArticleMetaData <!-- v1.2 --> | |
| − | + | ||
| − | + | ||
| − | {{ArticleMetaData | + | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) --> | |sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) --> | ||
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | |installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | ||
| − | |sdk=<!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> | + | |devices= Nokia N95 |
| − | |devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) --> | + | |sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> |
| − | |signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer --> | + | |platform= S60 3rd Edition |
| − | |capabilities=<!-- Capabilities required (e.g. Location, NetworkServices. --> | + | |devicecompatability= <!-- Compatible devices (e.g.: All* (must have GPS) ) --> |
| − | |author=[[User:Technical writer 1]] | + | |dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 --> |
| + | |signing= <!-- Empty or one of Self-Signed, DevCert, Manufacturer --> | ||
| + | |capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. --> | ||
| + | |keywords= CSourceLocation | ||
| + | |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 --> | ||
| + | |subcategory= Audio | ||
| + | |id= CS001131 | ||
}} | }} | ||
| Line 44: | Line 49: | ||
CAPABILITY NONE | CAPABILITY NONE | ||
| − | LIBRARY | + | LIBRARY SourceLocationEffect.lib |
| − | HEADER | + | HEADER SourceLocationBase.h |
| Line 83: | Line 88: | ||
==See also== | ==See also== | ||
| − | [[ | + | [[Adding doppler effects to the audio player in Symbian C++]] |
[[CS001132 - Adding listener's location effects to the audio player]] | [[CS001132 - Adding listener's location effects to the audio player]] | ||
| Line 97: | Line 102: | ||
[[Category:Symbian C++]] | [[Category:Symbian C++]] | ||
| − | [[Category:Code | + | [[Category:Code Snippet]] |
[[Category:Multimedia]] | [[Category:Multimedia]] | ||
[[Category:Audio]] | [[Category:Audio]] | ||
[[Category:Code Snippet]] | [[Category:Code Snippet]] | ||
Revision as of 04:56, 14 June 2012
Article Metadata
Tested with
Compatibility
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 CSourceLocation API. This API makes the audio source's location for the listener appear to change.
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 SourceLocationEffect.lib
HEADER SourceLocationBase.h
Source file
First you need to construct the reverb utility instance:
iSource = CSourceLocation::NewL( *iMdaAudioPlayerUtility );
To set the source location effect on, you need to set the X,Y, and Z coordinates for the source, and then enable and apply the effect to the player.
iSource->SetLocationCartesianL(iSourcePositionX,
iSourcePositionY,
iSourcePositionZ);
if(!iSource->IsEnabled())
iSource->EnableL();
iSource->ApplyL();
You can also and a 3D effect by using a timer that periodically changes the coordinates of the effect.
To set the source location effect off, call the following line of code:
iSource->DisableL();
Test application
See also
Adding doppler effects to the audio player in Symbian C++
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

