Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

CR Keys To Control Phone Volume API

From 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 04:36.
97 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×