Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.

Archived:Support for full-duplex audio on Symbian

From Wiki
Jump to: navigation, search

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

Article Metadata
Created: User:Technical writer 1 (21 Aug 2007)
Last edited: hamishwillee (14 Jun 2012)


Support for full-duplex audio in the S60 platform
Starting from S60 2nd Edition, Feature Pack 2, a number of S60 devices are based on hardware that supports full-duplex audio (simultaneous playback and recording).
Reported against
S60 2nd Edition, Feature Pack 2 and onwards
Date identified
June 23, 2005, updated June 18, 2008
Detailed description
Full-duplex audio is enabled by initializing two audio streams (one for playback and one for recording) and using custom audio priority and preference values for each stream. These values are different in S60 2nd and 3rd Edition platforms.

Audio APIs that can be used for full-duplex operation:

* Two CMMFDevSound instances
* CMdaAudioOutputStream + CMdaAudioInputStream
* Audio Proxy Server (S60 3rd Ed)
* VoIP Audio Services (S60 3rd Ed, FP1 and FP2)
How to reproduce
Trying to create a second audio stream while another client is already using the audio device will result in the KErrInUse error. Or, if the second client has a higher priority, the first one will be stopped with the KErrDied error value.
Below are the audio priority (TInt) and preference (TMdaPriorityPreference) values needed for enabling full-duplex audio on S60 3rd Edition and S60 2nd Edition, FP2 or FP3
#ifdef __SERIES60_3X__
#define KFullDuplexAudioPrefOutput 0x05220001
#define KFullDuplexAudioPrefInput 0x05210001
#else // S60 2nd Edition FP2 + FP3
#define KFullDuplexAudioPrefOutput 0x01350001
#define KFullDuplexAudioPrefInput 0x01360001
#define KFullDuplexAudioPriority 99

For more information and example code, see S60 Platform: Full-Duplex Audio Example on Nokia Developer.

This page was last modified on 14 June 2012, at 05:04.
19 page views in the last 30 days.