CMMFDevSound Class Reference

class CMMFDevSound : public CBase

This is the interface from Symbian OS to the raw audio functions on the device hardware.

DevSound is currently loaded as a DLL, and implements the VCR-type functions to be expected for such an interface.

The audio functions include the following functionality:
  • Initialisation and configuration of hardware devices, for example, setting microphone gain, setting setero balance and so on.

  • The playing and recording of raw audio data.

  • The playing and dynamic control of tones with user specified frequencies.

  • The playing of DTMF strings.

Inherits from

Nested Classes and Structures

Public Member Functions
~CMMFDevSound ()
TInt CancelInitialize ()
TInt CancelRegisterAsClient ( TUid )
IMPORT_C TMMFCapabilities Capabilities ()
IMPORT_C TMMFCapabilities Config ()
IMPORT_C TAny * CustomInterface ( TUid )
TInt EmptyBuffers ()
IMPORT_C TInt FixedSequenceCount ()
IMPORT_C const TDesC & FixedSequenceName ( TInt )
IMPORT_C TInt Gain ()
IMPORT_C void GetPlayBalanceL ( TInt &, TInt &)
IMPORT_C void GetRecordBalanceL ( TInt &, TInt &)
TInt GetResourceNotificationData ( TUid , TDes8 &)
IMPORT_C void GetSupportedInputDataTypesL ( RArray < TFourCC > &, const TMMFPrioritySettings &)
IMPORT_C void GetSupportedOutputDataTypesL ( RArray < TFourCC > &, const TMMFPrioritySettings &)
TInt GetTimePlayed ( TTimeIntervalMicroSeconds &)
IMPORT_C void InitializeL ( MDevSoundObserver &, TMMFState )
IMPORT_C void InitializeL ( MDevSoundObserver &, TUid , TMMFState )
IMPORT_C void InitializeL ( MDevSoundObserver &, TFourCC , TMMFState )
TBool IsGetTimePlayedSupported ()
TBool IsResumeSupported ()
IMPORT_C TInt MaxGain ()
IMPORT_C TInt MaxVolume ()
IMPORT_C CMMFDevSound * NewL ()
IMPORT_C void Pause ()
IMPORT_C void PlayDTMFStringL (const TDesC &)
IMPORT_C void PlayData ()
IMPORT_C void PlayDualToneL ( TInt , TInt , const TTimeIntervalMicroSeconds &)
IMPORT_C void PlayFixedSequenceL ( TInt )
IMPORT_C void PlayInitL ()
IMPORT_C void PlayToneL ( TInt , const TTimeIntervalMicroSeconds &)
IMPORT_C void PlayToneSequenceL (const TDesC8 &)
TBool QueryIgnoresUnderflow ()
IMPORT_C void RecordData ()
IMPORT_C void RecordInitL ()
TInt RegisterAsClient ( TUid , const TDesC8 &)
TInt Resume ()
IMPORT_C TInt SamplesPlayed ()
IMPORT_C TInt SamplesRecorded ()
TInt SetClientThreadInfo ( TThreadId )
IMPORT_C void SetConfigL (const TMMFCapabilities &)
IMPORT_C void SetDTMFLengths ( TTimeIntervalMicroSeconds32 &, TTimeIntervalMicroSeconds32 &, TTimeIntervalMicroSeconds32 &)
IMPORT_C void SetGain ( TInt )
IMPORT_C void SetPlayBalanceL ( TInt , TInt )
IMPORT_C void SetPrioritySettings (const TMMFPrioritySettings &)
IMPORT_C void SetRecordBalanceL ( TInt , TInt )
IMPORT_C void SetToneRepeats ( TInt , const TTimeIntervalMicroSeconds &)
IMPORT_C void SetVolume ( TInt )
IMPORT_C void SetVolumeRamp (const TTimeIntervalMicroSeconds &)
IMPORT_C void Stop ()
IMPORT_C TInt Volume ()
TInt WillResumePlay ()
Protected Member Functions
CMMFDevSound ()
void ConstructL ()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Protected Attributes
CBody * iBody

Constructor & Destructor Documentation

CMMFDevSound()

CMMFDevSound ( ) [protected]

Default Constructor.

~CMMFDevSound()

IMPORT_C ~CMMFDevSound ( )

Destructor.

Deletes all objects and releases all resource owned by this instance.

Member Functions Documentation

CancelInitialize()

TInt CancelInitialize ( ) [inline]

Cancels the initialization process of a CMMFDevSound object

CancelRegisterAsClient(TUid)

TInt CancelRegisterAsClient ( TUid aEventType ) [inline]

Cancels the Registered Notification.

Parameters

TUid aEventType The Event type need to cancel

Capabilities()

IMPORT_C TMMFCapabilities Capabilities ( )

Returns the supported Audio settings ie. encoding, sample rates, mono/stereo operation, buffer size etc.

Config()

IMPORT_C TMMFCapabilities Config ( ) const

Returns the current device configuration.

ConstructL()

void ConstructL ( ) [protected]

Second phase constructor.

CustomInterface(TUid)

IMPORT_C TAny * CustomInterface ( TUid aInterfaceId )

Retrieves a custom interface to the device.

Parameters

TUid aInterfaceId The interface UID, defined with the custom interface.

EmptyBuffers()

TInt EmptyBuffers ( ) [inline]

Empties the play buffers below DevSound without causing the codec to be deleted.

FixedSequenceCount()

IMPORT_C TInt FixedSequenceCount ( )

Returns the number of available pre-defined tone sequences.

This is the number of fixed sequence supported by DevSound by default.

FixedSequenceName(TInt)

IMPORT_C const TDesC & FixedSequenceName ( TInt aSequenceNumber )

Returns the name assigned to a specific pre-defined tone sequence.

This is the number of the fixed sequence supported by DevSound by default.

The function raises a panic if sequence number specified is invalid.

FixedSequenceCount()

Parameters

TInt aSequenceNumber The index identifying the specific pre-defined tone sequence. Index values are relative to zero. This can be any value from zero to the value returned by a call to FixedSequenceCount() - 1. The function raises a panic if sequence number is not within this range.

Gain()

IMPORT_C TInt Gain ( )

Returns an integer representing the current gain.

GetPlayBalanceL(TInt &, TInt &)

IMPORT_C void GetPlayBalanceL ( TInt & aLeftPercentage,
TInt & aRightPercentage
)

Returns the speaker balance set for playing.

Leaves on failure.

Parameters

TInt & aLeftPercentage On return contains the left speaker volume percentage.
TInt & aRightPercentage On return contains the right speaker volume percentage.

GetRecordBalanceL(TInt &, TInt &)

IMPORT_C void GetRecordBalanceL ( TInt & aLeftPercentage,
TInt & aRightPercentage
)

Returns the microphone gain balance set for recording.

Leaves on failure.

Parameters

TInt & aLeftPercentage On return contains the left microphone gain percentage.
TInt & aRightPercentage On return contains the right microphone gain percentage.

GetResourceNotificationData(TUid, TDes8 &)

TInt GetResourceNotificationData ( TUid aEventType,
TDes8 & aNotificationData
) [inline]

Returns the Notification data which the client needs to resume playing.

Parameters

TUid aEventType The Event type for which to get notification data
TDes8 & aNotificationData The reference data for which the client needs to resume the play. The actual data depends on the event type. Note that for the event type 'KMMFEventCategoryAudioResourceAvailable' the package buffer returned is TMMFTimeIntervalMicroSecondsPckg,but the contents should be converted to an integer and interpreted as the data returned is samples played ,but not as a microsecond value.

GetSupportedInputDataTypesL(RArray< TFourCC > &, const TMMFPrioritySettings &)

IMPORT_C void GetSupportedInputDataTypesL ( RArray < TFourCC > & aSupportedDataTypes,
const TMMFPrioritySettings & aPrioritySettings
) const

Returns a list of the supported input datatypes that can be sent to DevSound for playing audio. The datatypes returned are those that the DevSound supports given the priority settings passed in aPrioritySettings.

Note that if no supported data types are found this does not constitute failure, the function will return normally with no entries in aSupportedDataTypes.

Parameters

RArray < TFourCC > & aSupportedDataTypes The array of supported data types that will be filled in by this function. The supported data types of the DevSound are in the form of an array of TFourCC codes. Any existing entries in the array will be overwritten on calling this function. If no supported data types are found given the priority settings, then the aSupportedDatatypes array will have zero entries.
const TMMFPrioritySettings & aPrioritySettings The priority settings used to determine the supported datatypes. Note this does not set the priority settings. For input datatypes the iState member of the priority settings would be expected to be either EMMFStatePlaying or EMMFStatePlayingRecording. The priority settings may effect the supported datatypes depending on the audio routing.

GetSupportedOutputDataTypesL(RArray< TFourCC > &, const TMMFPrioritySettings &)

IMPORT_C void GetSupportedOutputDataTypesL ( RArray < TFourCC > & aSupportedDataTypes,
const TMMFPrioritySettings & aPrioritySettings
) const

Returns a list of the supported output dataypes that can be received from DevSound for recording audio. The datatypes returned are those that the DevSound supports given the priority settings passed in aPrioritySettings.

Note that if no supported data types are found this does not constitute failure, the function will return normally with no entries in aSupportedDataTypes.

Parameters

RArray < TFourCC > & aSupportedDataTypes The array of supported data types that will be filled in by this function. The supported datatypes of the DevSound are in the form of an array of TFourCC codes. Any existing entries in the array will be overwritten on calling this function. If no supported datatypes are found given the priority settings, then the aSupportedDatatypes array will have zero entries.
const TMMFPrioritySettings & aPrioritySettings The priority settings used to determine the supported data types. Note this does not set the priority settings. For output data types the iState member of the priority settings would expected to be either EMMFStateRecording or EMMFStatePlayingRecording. The priority settings may effect the supported datatypes depending on the audio routing.

GetTimePlayed(TTimeIntervalMicroSeconds &)

TInt GetTimePlayed ( TTimeIntervalMicroSeconds & aTime ) [inline]

Retrieves the current play time from the audio renderer

IsGetTimePlayedSupported()

Parameters

TTimeIntervalMicroSeconds & aTime A reference to TTimeIntervalMicroSeconds object which will be filled with the current play time by this function.

InitializeL(MDevSoundObserver &, TMMFState)

IMPORT_C void InitializeL ( MDevSoundObserver & aDevSoundObserver,
TMMFState aMode
)

Initializes CMMFDevSound object to play and record PCM16 raw audio data with sampling rate of 8 KHz.

On completion of Initialization, calls InitializeComplete() on aDevSoundObserver.

Leaves on failure.

Parameters

MDevSoundObserver & aDevSoundObserver A reference to DevSound Observer instance.
TMMFState aMode The mode for which this object will be used. Any value other than EMMFStatePlaying, EMMFStateRecording or EMMFStateTonePlaying is unsupported.

InitializeL(MDevSoundObserver &, TUid, TMMFState)

IMPORT_C void InitializeL ( MDevSoundObserver & aDevSoundObserver,
TUid aHWDev,
TMMFState aMode
)

Initializes DevSound object for the mode aMode for processing audio data with hardware device aHWDev.

On completion of Initialization, the observer will be notified via call back InitializeComplete().

Leaves on failure.

Parameters

MDevSoundObserver & aDevSoundObserver A reference to DevSound Observer instance.
TUid aHWDev The CMMFHwDevice implementation identifier.
TMMFState aMode The mode for which this object will be used. Any value other than EMMFStatePlaying, EMMFStateRecording or EMMFStateTonePlaying is unsupported.

InitializeL(MDevSoundObserver &, TFourCC, TMMFState)

IMPORT_C void InitializeL ( MDevSoundObserver & aDevSoundObserver,
TFourCC aDesiredFourCC,
TMMFState aMode
)

Initializes DevSound object for the mode aMode for processing audio data with hardware device supporting FourCC aDesiredFourCC.

On completion of Initialization, the observer will be notified via call back InitializeComplete().

Leaves on failure.

Parameters

MDevSoundObserver & aDevSoundObserver A reference to DevSound Observer instance.
TFourCC aDesiredFourCC The CMMFHwDevice implementation FourCC code.
TMMFState aMode The mode for which this object will be used. Any value other than EMMFStatePlaying, EMMFStateRecording or EMMFStateTonePlaying is unsupported.

IsGetTimePlayedSupported()

TBool IsGetTimePlayedSupported ( ) [inline]

This method can be used by devsound clients to check if the devsound implementation supports GetTimePlayed API. If this method returns EFalse, SamplesPlayed needs to be used.

GetTimePlayed()

IsResumeSupported()

TBool IsResumeSupported ( ) [inline]

This method can be used by devsound clients to check if current configuration supports resume This call is only valid when DevSound is initialized

MaxGain()

IMPORT_C TInt MaxGain ( )

Returns an integer representing the maximum gain the device supports.

This is the maximum value which can be passed to CMMFDevSound::SetGain .

MaxVolume()

IMPORT_C TInt MaxVolume ( )

Returns an integer representing the maximum volume device supports.

This is the maximum value which can be passed to CMMFDevSound::SetVolume .

NewL()

IMPORT_C CMMFDevSound * NewL ( ) [static]

Constructs, and returns a pointer to, a new CMMFDevSound object.

Leaves on failure.

Pause()

IMPORT_C void Pause ( )

Temporarily Stops the ongoing operation (Play, Record, TonePlay, Convert).

The behaviour of Pause() is currently undefined when the initialisation mode is not EMMFStateRecording, consequently different DevSound implementations exhibit different behaviour for pause during play. For this reason, it is recommended that when pausing of audio during playing is required, Stop() is used instead of the call to Pause() . To resume audio playing after Stop() , call PlayInitL() . Among other things, this will internally reset the SamplesPlayed() result and the calling code may need to remember the previous result to give the correct "samples played from start" value.

In the case of record, Pause is taken to mean halt any further recording but continue to call the MDevSoundObserver::BufferToBeEmptied() passing already recorded buffers. The last buffer flag should be set when all recorded buffers have been flushed.

CMMFDevSound::Stop() CMMFDevSound::PlayInitL() CMMFDevSound::SamplesPlayed()

PlayDTMFStringL(const TDesC &)

IMPORT_C void PlayDTMFStringL ( const TDesC & aDTMFString )

Initializes the audio device and starts playing the DTMF string aDTMFString.

Leaves on failure.

Parameters

const TDesC & aDTMFString The DTMF sequence in a descriptor.

PlayData()

IMPORT_C void PlayData ( )

Plays data in the buffer at the current volume.

The client should fill the buffer with audio data before calling this function. The observer gets a reference to the buffer along with the callback function BufferToBeFilled(). When playing of the audio sample is complete, successfully or otherwise, the function PlayError() on the observer is called.

The last buffer of the audio stream being played should have the last buffer flag set using CMMFBuffer::SetLastBuffer(TBool) . If a subsequent attempt to play the clip is made, this flag will need resetting by the client.

MDevSoundObserver::PlayError()

PlayDualToneL(TInt, TInt, const TTimeIntervalMicroSeconds &)

IMPORT_C void PlayDualToneL ( TInt aFrequencyOne,
TInt aFrequencyTwo,
const TTimeIntervalMicroSeconds & aDuration
)

Initializes audio device and starts playing a dual tone.

The generated tone consists of two sine waves of different frequencies summed together.

Dual Tone is played with the specified frequencies and for the specified duration.

Parameters

TInt aFrequencyOne The first frequency of dual tone.
TInt aFrequencyTwo The second frequency of dual tone
const TTimeIntervalMicroSeconds & aDuration The period over which the tone will be played. A zero value causes the no tone to be played (Verify this with test app).

PlayFixedSequenceL(TInt)

IMPORT_C void PlayFixedSequenceL ( TInt aSequenceNumber )

Initializes the audio device and starts playing the specified pre-defined tone sequence.

Leaves on failure.

FixedSequenceCount()

Parameters

TInt aSequenceNumber The index identifying the specific pre-defined tone sequence. Index values are relative to zero. This can be any value from zero to the value returned by a call to FixedSequenceCount() - 1. The function raises a panic if the sequence number is not within this range.

PlayInitL()

IMPORT_C void PlayInitL ( )

Initializes the audio device and starts the play process.

This function queries and acquires the audio policy before initializing audio device. If there was an error during policy initialization, PlayError() function will be called on the observer with error code KErrAccessDenied, otherwise BufferToBeFilled() function will be called with a buffer reference. After reading data into the buffer reference passed, the client should call PlayData() to play data.

The amount of data that can be played is specified in CMMFBuffer::RequestSize() . Any data that is read into buffer beyond this size will be ignored.

Leaves on failure.

MDevSoundObserver::PlayError() MDevSoundObserver::BufferToBeFilled()

PlayToneL(TInt, const TTimeIntervalMicroSeconds &)

IMPORT_C void PlayToneL ( TInt aFrequency,
const TTimeIntervalMicroSeconds & aDuration
)

Initializes the audio device and starts playing a tone. The tone is played with the frequency and duration specified.

Leaves on failure.

Parameters

TInt aFrequency The frequency at which the tone will be played.
const TTimeIntervalMicroSeconds & aDuration The period over which the tone will be played. A zero value causes the no tone to be played.

PlayToneSequenceL(const TDesC8 &)

IMPORT_C void PlayToneSequenceL ( const TDesC8 & aData )

Initializes the audio device and starts playing a tone sequence.

Leaves on failure.

Parameters

const TDesC8 & aData The tone sequence in a descriptor.

QueryIgnoresUnderflow()

TBool QueryIgnoresUnderflow ( ) [inline]

This method can be used by devsound clients to check if the devsound implementation ignores the underflow errors from the sound driver and does not propagate them to its clients.

RecordData()

IMPORT_C void RecordData ( )

Contine the process of recording.

Once the buffer is filled with recorded data, the Observer gets a reference to the buffer along with the callback function BufferToBeEmptied(). After processing the buffer (copying over to a different buffer or writing to file) the client should call this function to continue the recording process.

capability
UserEnvironment For recording - the requesting client process must have the UserEnvironment capability.

RecordInitL()

IMPORT_C void RecordInitL ( )

Initializes audio device and starts the recording process.

This function queries and acquires the audio policy before initializing audio device. If there was an error during policy initialization, RecordError() function will be called on the observer with error code KErrAccessDenied, otherwise BufferToBeEmptied() function will be called with a buffer reference. This buffer contains recorded or encoded data. After processing data in the buffer reference passed, the client should call RecordData() to continue recording process.

The amount of data that is available is specified in CMMFBuffer::RequestSize() .

Leaves on failure.

MDevSoundObserver::RecordError() MDevSoundObserver::BufferToBeEmptied()
capability
UserEnvironment For recording - the requesting client process must have the UserEnvironment capability.

RegisterAsClient(TUid, const TDesC8 &)

TInt RegisterAsClient ( TUid aEventType,
const TDesC8 & aNotificationRegistrationData =  KNullDesC8
) [inline]

Registers the client for notification of resource avalibility.

Parameters

TUid aEventType The Notification event type for which the client needs notification.
const TDesC8 & aNotificationRegistrationData =  KNullDesC8 The Notification Registration data has been reserved for future use and its value should be always NULL

Resume()

TInt Resume ( ) [inline]

Resume play back, recording or tone playing after this has been paused

SamplesPlayed()

IMPORT_C TInt SamplesPlayed ( )

Returns the number of samples played so far.

SamplesRecorded()

IMPORT_C TInt SamplesRecorded ( )

Returns the number samples recorded so far.

SetClientThreadInfo(TThreadId)

TInt SetClientThreadInfo ( TThreadId aTid ) [inline]

Sets client thread info for devsound to make proper policy and routing decisions

capability
MultimediaDD A process requires MultimediaDD capability to make this call.

Parameters

TThreadId aTid The thread Id of real client.

SetConfigL(const TMMFCapabilities &)

IMPORT_C void SetConfigL ( const TMMFCapabilities & aCaps )

Configure CMMFDevSound object with the settings in aConfig.

Use this to set sampling rate, encoding and mono/stereo.

Parameters

const TMMFCapabilities & aCaps The attribute values to which CMMFDevSound object will be configured to.

SetDTMFLengths(TTimeIntervalMicroSeconds32 &, TTimeIntervalMicroSeconds32 &, TTimeIntervalMicroSeconds32 &)

IMPORT_C void SetDTMFLengths ( TTimeIntervalMicroSeconds32 & aToneOnLength,
TTimeIntervalMicroSeconds32 & aToneOffLength,
TTimeIntervalMicroSeconds32 & aPauseLength
)

Defines the duration of tone on, tone off and tone pause to be used during the DTMF tone playback operation.

Supported only during tone playing.

Parameters

TTimeIntervalMicroSeconds32 & aToneOnLength The period over which the tone will be played. If this is set to zero, then the tone is not played.
TTimeIntervalMicroSeconds32 & aToneOffLength The period over which the no tone will be played.
TTimeIntervalMicroSeconds32 & aPauseLength The period over which the tone playing will be paused.

SetGain(TInt)

IMPORT_C void SetGain ( TInt aGain )

Changes the current recording gain to a specified value.

The gain can be changed before or during recording and is effective immediately.

Parameters

TInt aGain The gain setting. This can be any value from zero to the value returned by a call to CMMFDevSound::MaxGain(). If the volume is not within this range, the gain is automatically set to minimum or maximum value based on the value that is being passed. Setting a zero value mutes the sound. Setting the maximum value results in the loudest possible sound.

SetPlayBalanceL(TInt, TInt)

IMPORT_C void SetPlayBalanceL ( TInt aLeftPercentage,
TInt aRightPercentage
)

Sets the speaker balance for playing.

The speaker balance can be changed before or during playback and is effective immediately.

Parameters

TInt aLeftPercentage On return contains left speaker volume perecentage. This can be any value from zero to 100. Setting a zero value mutes the sound on left speaker.
TInt aRightPercentage On return contains right speaker volume perecentage. This can be any value from zero to 100. Setting a zero value mutes the sound on right speaker.

SetPrioritySettings(const TMMFPrioritySettings &)

IMPORT_C void SetPrioritySettings ( const TMMFPrioritySettings & aPrioritySettings )

Defines the priority settings that should be used for this instance.

Parameters

const TMMFPrioritySettings & aPrioritySettings A class type representing the client's priority, priority preference and state.

SetRecordBalanceL(TInt, TInt)

IMPORT_C void SetRecordBalanceL ( TInt aLeftPercentage,
TInt aRightPercentage
)

Sets the microphone gain balance for recording.

The microphone gain balance can be changed before or during recording and is effective immediately.

Parameters

TInt aLeftPercentage The left microphone gain precentage. This can be any value from zero to 100. Setting a zero value mutes the gain on left microphone.
TInt aRightPercentage The right microphone gain precentage. This can be any value from zero to 100. Setting a zero value mutes the gain on right microphone.

SetToneRepeats(TInt, const TTimeIntervalMicroSeconds &)

IMPORT_C void SetToneRepeats ( TInt aRepeatCount,
const TTimeIntervalMicroSeconds & aRepeatTrailingSilence
)

Defines the number of times the audio is to be repeated during the tone playback operation.

A period of silence can follow each playing of a tone. The tone playing can be repeated indefinitely.

Parameters

TInt aRepeatCount The number of times the tone, together with the trailing silence, is to be repeated. If this is set to KMdaRepeatForever, then the tone, together with the trailing silence, is repeated indefinitely or until Stop() is called. If this is set to zero, then the tone is not repeated.
const TTimeIntervalMicroSeconds & aRepeatTrailingSilence An interval of silence which will be played after each tone. Supported only during tone playing.

SetVolume(TInt)

IMPORT_C void SetVolume ( TInt aVolume )

Changes the current playback volume to a specified value.

The volume can be changed before or during playback and is effective immediately.

Parameters

TInt aVolume The volume setting. This can be any value from 0 to the value returned by a call to CMMFDevSound::MaxVolume(). If the volume is not within this range, the volume is automatically set to minimum or maximum value based on the value that is being passed. Setting a zero value mutes the sound. Setting the maximum value results in the loudest possible sound.

SetVolumeRamp(const TTimeIntervalMicroSeconds &)

IMPORT_C void SetVolumeRamp ( const TTimeIntervalMicroSeconds & aRampDuration )

Defines the period over which the volume level is to rise smoothly from nothing to the normal volume level.

The function is only available while the tone is playing.

Parameters

const TTimeIntervalMicroSeconds & aRampDuration The period over which the volume is to rise. A zero value causes the tone sample to be played at the normal level for the full duration of the playback. A value, which is longer than the duration of the tone sample means that the sample never reaches its normal volume level.

Stop()

IMPORT_C void Stop ( )

Stops the ongoing operation (Play, Record, TonePlay, Convert).

This function should be synchronous and invoke no callbacks through MDevSoundObserver .

Volume()

IMPORT_C TInt Volume ( )

Returns an integer representing the current volume.

WillResumePlay()

TInt WillResumePlay ( ) [inline]

Wait for the clients to resume play back even after the default timeout expires. Unless the client cancels the notification request or completes no other client gets notification.

Member Data Documentation

CBody * iBody

CBody * iBody [protected]

DevSound body