Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



Audio playing, recording, and conversion overview


Purpose

This interface comprises of advanced audio file manipulation features specifically aimed at providing the ability to play back, record, and convert sound clips. In addition, it provides access methods to embedded meta data.

This functionality is provided by the CMdaAudioRecorderUtility, CMdaAudioConvertUtility, and CMdaAudioPlayerUtility classes.

[Top]


Architectural relationships

The methods for recording, converting, and playing audio clips interact with the lower levels of MMF (known as the controller framework). The controller framework is in turn responsible for managing the interface to audio hardware. On some phones, this is implemented as a device driver; on others it may be implemented as a connection to a lower level hardware controller.

Clients using any of the CMdaAudioRecorderUtility, CMdaAudioConvertUtility or CMdaAudioPlayerUtility classes must have an active scheduler running in their thread because the implementations use active objects and callbacks.

[Top]


Description

All three of the audio classes are plugin based, leaving the list of supported audio formats for input and output open ended. The audio file formats supported as standard by MMF are: AU, WAV and raw audio data. Each file format may support one or more compression algorithms (codecs). The standard file formats and corresponding codecs are shown below:

Audio file format Codecs supported

AU

A-Law, mu-law, signed 16 bit PCM big-endian, signed 8 bit PCM

WAV

IMA-ADPCM, A-Law, mu-law, unsigned 8 bit PCM, gsm 6.10, signed 16 bit PCM

raw data

Signed big-endian 16 bit PCM, signed 16 bit PCM, unsigned 16 bit PCM

Input and output audio data can be of any format supported by the installed plugins. When possible MMF uses a plugin resolver to determine the format and codecs to use. It determines this by checking the filename extension and reading any header data that may be present in the audio clip. The plugin resolver cannot determine the format and codecs to use for raw audio, so in such cases you must specify this information yourself. A full list of supported plugins can be retrieved by using CMdaAudioConvertUtility::GetSupportedDestinationDataTypesL().

Note: All audio clips can be uniquely identified for purposes of plugin assignment by their format (gsm z6.10, AU, WAV and so on) and their codec (for example for AU, valid codecs include A-Law, mu-law, signed 16 bit PCM big-endian, signed 8 bit PCM). Each format and codec has an arbitrary ID assigned to it by MMF and its associated plugin, for use with the "Open" functions of both CMdaAudioConvertUtility and CMdaAudioRecorderUtility.

[Top]


The audio interface classes

The record, convert, and play functionality provided by MMF is contained within the following classes, CMdaAudioRecorderUtility, CMdaAudioConvertUtility and CMdaAudioPlayerUtility. Descriptions for each of the classes can be found by following the links below.

[Top]


See also