Archived:Audio Input Routing Symbian API
Archived: 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
Compatibility
Platform(s): S60 3rd Edition, FP2
Article
Keywords: Audio Input Routing API
Created: User:Technical writer 1
(13 Jun 2008)
Last edited: lpvalente
(04 Oct 2012)
Note: :This API is not part of the public SDK. It can be found in the SDK API Plug-in.
The Audio Input Routing API (CAudioInput) is used by audio applications to inform the Audio subsystem which audio streams it wants to record or capture.
This is an optional feature. If it is not supported on a platform, the NewL method of CAudioInput will leave with KErrNotSupported or return a NULL pointer. Even if the interface is supported, any method in the interface may leave with KErrNotSupported. It is the audio application’s responsibility to be able to handle this error when using this class.
CAudioInput requires the client to have an instance of one of the following:
- CMMFDevSound
- CMdaAudioRecorderUtility
- MCustomCommand
- MCustomInterface
- CMdaAudioInputStream
- CVideoRecorderUtility
The TAudioInputPreference enumeration defines the audio streams that can be selected as inputs for recording.
Attributes
- EDefaultMic: Microphone associated with the currently active speaker.
- EOutputToSpeaker: Audio currently being sent to the currently active speaker.
- EFMRadio: Audio of the currently tuned FM radio station.
- EVoiceCall: Audio stream associated with the current phone call.
- ELineIn: Audio being received from the line-in (if available).
Using the CAudioInput API for routing input audio
// Create CAudioInput CAudioInput* audioInput = CAudioInput::NewL( *theRecordUtility ); // theRecordUtility is an instance of CMdaAudioRecorderUtility RArray<CAudioInput::TAudioInputPreference> inputArray; inputArray.Append( CAudioInput::EVoiceCall ); // Set Audio Input audioInput->SetAudioInputL( inputArray.Array( ) ); // now the recorder utility will be able to record the audio from voice call


(no comments yet)