This document describes how to start recording audio data.
To record audio data, do the following:
Constructing and initializing
Use the CMMFDevSound::NewL() method to construct a new instance of DevSound.
After construction, use an CMMFDevSound::InitializeL() method to initialize DevSound to record audio. This method requires that you specify the DevSound observer class to handle callbacks.
Once initialization has completed, successfully or otherwise, DevSound calls the MDevSoundObserver::InitializeComplete() function.
Configuring
The following settings can be configured before or during recording:
To set the gain of the recording device to a specific value, use the CMMFDevSound::SetGain() function. The gain can be set to any value from 0 to CMMFDevSound::MaxGain().
To set the microphone gain balance, use the CMMFDevSound::SetRecordBalanceL() function. This function has two parameters:
To set the priority setting for this instance of DevSound to access the audio device, use the CMMFDevSound::SetPrioritySettings() method. Priority settings are used by the Audio Policy component to resolve multiple requests to access the audio hardware.
Call the CMMFDevSound::RecordInitL() function to start audio recording.
Once started, audio data is recorded incrementally into a buffer. When there is data in the buffer, use the CMMFDevSound::RecordData() method to record the data:
Once the buffer is filled with recorded data, DevSound calls the MDevSoundObserver::BufferToBeEmptied() function. When the recorded data has been read from the buffer, again use the CMMFDevSound::RecordData() method. The client must accept audio data through the buffers at a sufficient rate to avoid buffer overflow.