Playing a DTMF Tone

This tutorial describes about how to play a DTMF(Dual and Multi-Frequency) Tone.

You have to configure DevSound in order to play a DTMF tone.

The following settings can be configured before or during DTMF tone play:

  • To set the duration of tone on, tone off and tone pause to be used during the DTMF tone playback, use the CMMFDevSound::SetDTMFLengths() method.

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

    This method has three parameters:

    • &aToneOnLength - the period over which the tone is to be played.

    • &aToneOffLength - the period over which no tone is to be played.

    • &aPauseLength - the period over which tone playing is to be paused.

    The internal configuration set by CMMFDevSound::SetDTMFLengths() lasts until it is recalled or for the lifetime of the current DevSound.

    Note: The CMMFDevSound::SetDTMFLengths() function is only available during tone play.

  • To change the volume of the audio device to a specific value, use the CMMFDevSound::SetVolume() function. The volume can be set to any value from 0 to CMMFDevSound::MaxVolume().

    To define a period over which the volume rises from 0 to the normal volume level, use the CMMFDevSound::SetVolumeRamp() function.

    Note: The CMMFDevSound::SetVolumeRamp() function is only available during tone play.

  • To set the speaker balance, use the CMMFDevSound::SetPlayBalanceL() function. This function has two parameters:

    • aLeftPercentage - the left speaker volume percentage.

    • aRightPercentage - the right speaker volume percentage.

  • 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.