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.
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.
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:
|
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
.
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.
Audio recording - describes how to use CMdaAudioRecorderUtility
to manipulate audio sources and sinks, add, retrieve and modify meta data and
record audio data to files or descriptors.
Audio conversion - describes how to use CMdaAudioConverterUtility
to convert audio clips contained in files or descriptors to other formats using
the default codecs provided by MMF.
Audio playing -
describes how to use CMdaAudioPlayerUtility
to play audio clips
contained in files, descriptors or URLs.
Multi Media Framework Client Overview - general overview of the various components of the MMF Client API and the functionality they provide.
Audio Recording, Conversion and Playing - advanced audio file manipulation features; specifically, the ability to record, convert and playback sound clips as well as to manipulate meta data.
Audio Recording - introduction to the audio recording class.
Audio Conversion - introduction to the audio conversion class.
Audio Playing - introduction to the audio playing class.
Audio Streaming - the interface to streaming sampled audio.
Audio Tone Player - a simple interface for tone generation (synthesized sounds) that is supported on all audio-capable devices.
Video Recording and Playing - video manipulation features; specifically, the ability to record and playback video clips as well as to manipulate meta data.
Video Recording - introduction to the video recording class.
Video Playing - introduction to the video playing class.