×
Namespaces

Variants
Actions

CR Keys To Control Phone Volume API

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Code ExampleArticle
Created: ltomuta (16 Jun 2007)
Last edited: hamishwillee (30 May 2013)


Note.pngNote: This API is not part of the public SDK. It can be found in the SDK API Plug-in.

Purpose

CR Keys To Control Phone Volume API provides keys for controlling the phone volume of an ongoing call.

Use cases

- KTelephonyIncallEarVolume and KTelephonyIncallLoudspeakerVolume CR Keys can be used to increase or decrease the phone volume of an ongoing call.

Example code

Header Files:

#include <telephonyinternalcrkeys_partner.h> //CR Keys To Control Phone Volume 
#include <centralrepository.h> //CRepository

Link against:

centralrepository.lib  //CRepository

Capabilities

CAPABILITY    WriteUserData  //required for Setting the Volume:
//Telephony Call Handling Persistent Info API. 
//This API provides information related to call handling.
const TUid KCRUidCallHandling = {0x101F8784};
 
//Used by phone application, which contains the integer value
//of Incall in ear piece betweeen 1-10.
const TUint32 KTelephonyIncallEarVolume = 0x00000001;
 
//Used by phone application, which contains the integer value
//of Incall in Loud speaker betweeen 1-10.
const TUint32 KTelephonyIncallLoudspeakerVolume = 0x00000002;

The telephony Incall volume of ear piece and loud speaker can be controlled by passing the "KTelephonyIncallEarVolume"or "TelephonyIncallLoudspeakerVolume" to Get() and Set() methods of CRepository.

//To create a CRepository object for accessing Phone Volume repository:
iRepository = CRepository::NewL(KCRUidCallHandling);

The following is the code snippet for retrieving the Incall Ear Volume:

TBuf<3> lBufVol;
TInt lVol;
User::LeaveIfError(iRepository->Get(KTelephonyIncallEarVolume,lVol));
lBufVol.AppendNum(lVol);
CEikonEnv::InfoWinL(_L("Phone Incall Ear Volume:"),lBufVol);

The following is the code snippet for retrieving the Incall Loud Speaker Volume:

TBuf<3> lBufVol;
TInt lVol;
User::LeaveIfError(iRepository->Get(KTelephonyIncallLoudspeakerVolume, lVol));
lBufVol.AppendNum(lVol);
CEikonEnv::InfoWinL(_L("Phone Incall Loud Speaker Volume:"),lBufVol);

The following is the code snippet for setting the Incall Ear and Loud Speaker Volume:

TInt lVol = 6;
TInt lErr = iRepository->Set(KTelephonyIncallEarVolume,lVol);
TBuf<10> lBufErr;
lBufErr.AppendNum(lErr);
if ( lErr == KErrNone )
{
CEikonEnv::InfoWinL(_L("Phone Ear Volume Set:"),_L("Successful"));
}
else
{
CEikonEnv::InfoWinL(_L("Phone Ear Volume Set Err:"),lBufErr);
}
 
lBufErr.Zero();
lErr = iRepository->Set(KTelephonyIncallLoudspeakerVolume,lVol);
lBufErr.AppendNum(lErr);
 
if ( lErr == KErrNone )
{
CEikonEnv::InfoWinL(_L("Phone Loud Speaker Volume Set:"),_L("Successful"));
}
else
{
CEikonEnv::InfoWinL(_L("Phone Loud Speaker Vol Set Err:"),lBufErr);
}

Example Project

This page was last modified on 30 May 2013, at 07:36.
77 page views in the last 30 days.
×