×
Namespaces

Variants
Actions
(Difference between revisions)

Adding source location effects to the Symbian C++ audio player

From Nokia Developer Wiki
Jump to: navigation, search
tanjaluodes (Talk | contribs)
m
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot change of template (Template:CodeSnippet) - now using Template:ArticleMetaData)
Line 2: Line 2:
 
__NOEDITSECTION__
 
__NOEDITSECTION__
 
{{KBCS}}
 
{{KBCS}}
{{CodeSnippet
+
{{ArticleMetaData
 
|id=CS001131
 
|id=CS001131
 
|platform=S60 3rd Edition
 
|platform=S60 3rd Edition
Line 10: Line 10:
 
|creationdate=October 9, 2008
 
|creationdate=October 9, 2008
 
|keywords=CSourceLocation  
 
|keywords=CSourceLocation  
 +
 +
|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]]) -->
 +
|sdk=<!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
 +
|devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) -->
 +
|signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
 +
|capabilities=<!-- Capabilities required (e.g. Location, NetworkServices. -->)
 +
|author=[[User:Technical writer 1]]
 
}}
 
}}
  

Revision as of 11:35, 24 June 2011


Template:KBCS

Article Metadata
Tested with
Devices(s): Nokia N95
Compatibility
Platform(s): S60 3rd Edition
Platform Security
Capabilities: )
Article
Keywords: CSourceLocation
Created: User:Technical writer 1 (09 Oct 2008)
Last edited: hamishwillee (24 Jun 2011)

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

AudioEfects.zip


See also

CS001130 - Adding doppler 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

CS001135 - Adding reverb to the audio player

CS001136 - Adding equalizer to the audio player

143 page views in the last 30 days.
×