×
Namespaces

Variants
Actions
(Difference between revisions)

Archived:Enabling and disabling defined key sound using CAknKeySoundSystem

From Nokia Developer Wiki
Jump to: navigation, search
Forum Nokia KB (Talk | contribs)
extkbeditor1 (Talk | contribs)
m
Line 2: Line 2:
 
__NOEDITSECTION__
 
__NOEDITSECTION__
 
{{KBCS}}
 
{{KBCS}}
{|style="background:#eceff2" width="660px" border="1" cellpadding="5" cellspacing="0"
+
{{CodeSnippet
|-
+
|id=CS000951
|'''ID''' || CS000951
+
|platform=S60 3rd Edition, FP1
|'''Creation date''' || May 14, 2008
+
|devices=Nokia N93
|-
+
|category=Symbian C++
|'''Platform''' || S60 3rd Edition, FP1
+
|subcategory=Multimedia, Audio
|'''Tested on devices''' || Nokia N93
+
|creationdate=May 14, 2008
|-
+
|keywords=CAknKeySoundSystem, CAknAppUi, AVKON_SKEY_LIST, AVKON_SKEY_INFO, CAknAppUi::KeySounds(), CAknKeySoundSystem::PushContextL(), CAknKeySoundSystem::BringToForeground(), CAknKeySoundSystem::LockContext(),CAknKeySoundSystem::PopContext(), CAknKeySoundSystem::ReleaseContext()
|'''Category''' || Symbian C++
+
}}
|'''Subcategory''' || Multimedia, Audio
+
|}
+
 
+
 
+
{|style="background:#eceff2" width="660px" border="1" cellpadding="5" cellspacing="0"
+
|-
+
|'''Keywords (APIs, classes, methods, functions):''' CAknKeySoundSystem, CAknAppUi, AVKON_SKEY_LIST, AVKON_SKEY_INFO, CAknAppUi::KeySounds(), CAknKeySoundSystem::PushContextL(), CAknKeySoundSystem::BringToForeground(), CAknKeySoundSystem::LockContext(),CAknKeySoundSystem::PopContext(), CAknKeySoundSystem::ReleaseContext()
+
|}
+
  
 
==Overview==
 
==Overview==

Revision as of 23:21, 9 October 2008


Template:KBCS

Article Metadata
Tested with
Devices(s): Nokia N93
Compatibility
Platform(s): S60 3rd Edition, FP1
S60 3rd Edition (initial release)
Article
Keywords: CAknKeySoundSystem, CAknAppUi, AVKON_SKEY_LIST, AVKON_SKEY_INFO, CAknAppUi::KeySounds(), CAknKeySoundSystem::PushContextL(), CAknKeySoundSystem::BringToForeground(), CAknKeySoundSystem::LockContext(),CAknKeySoundSystem::PopContext(), CAknKeySoundSystem::ReleaseContext()
Created: (14 May 2008)
Last edited: extkbeditor1 (09 Oct 2008)

Overview

This code snippet shows how CAknKeySoundSystem is used to enable/disable a defined key sound. EStdKeyDevice3 (the selection key) is used as an example.

This snippet can be self-signed.

MMP file

The following libraries are required:

LIBRARY  avkon.lib
LIBRARY eikcore.lib
LIBRARY eiksrv.lib

Resource file

#include <eikon.rh>
#include <avkon.rsg>
#include <avkon.rh>
#include <e32keys.h> //EStdKeyDevice3
 
//----------------------------------------------------
// key sound map to disable selection key sound
//----------------------------------------------------
//
RESOURCE AVKON_SKEY_LIST r_silent_select_key_list
{
list=
{
AVKON_SKEY_INFO
{
key = EStdKeyDevice3;
sid = EAvkonSIDNoSound;
},
AVKON_SKEY_INFO
{
key = EStdKeyDevice3;
sid = EAvkonSIDNoSound;
type = ESKeyTypeLong;
},
AVKON_SKEY_INFO
{
key = EStdKeyDevice3;
sid = EAvkonSIDNoSound;
type = ESKeyTypeRepeat;
}
};
}


Header file

 #ifndef __TESTERAPPVIEW_H__
#define __TESTERAPPVIEW_H__
 
// INCLUDES
#include <coecntrl.h>
 
class CAknKeySoundSystem;
 
class CTesterAppView : public CCoeControl
{
//...
private:
CAknKeySoundSystem* iSoundSystem;
TBool iSilentSelection;
};
 
#endif // __TESTERAPPVIEW_H__

Source file

#include <Tester_0xE0060BB5.RSG> //r_silent_select_key_list
 
#include <aknsoundsystem.h> // CAknKeySoundSystem
#include <aknappui.h>
 
void CTesterAppView::ConstructL(const TRect& aRect)
{
//...
iSilentSelection = EFalse;
iSoundSystem = static_cast<CAknAppUi*>(
CEikonEnv::Static()->AppUi() )->KeySounds();
 
if (!iSoundSystem)
{
//pointer to KeySound API object is null
User::Leave(KErrGeneral);
}
}
 
CTesterAppView::~CTesterAppView()
{
iSoundSystem = NULL;
}
 
// ---------------------------------------------------------------------------
// Disable selection key sound
// ---------------------------------------------------------------------------
//
void CTesterAppView::DisableSelectionKeySoundL()
{
if ( iSoundSystem && !iSilentSelection )
{
//load key sound map from resources and push it to the context stack
iSoundSystem->PushContextL( R_SILENT_SELECT_KEY_LIST );
 
//tell server to use this context stack for processing sounds
iSoundSystem->BringToForeground();
 
//lock this context to the foreground, other BringToForeground() calls
//will be ignored until ReleaseContext() is called
iSoundSystem->LockContext();
 
iSilentSelection = ETrue;
}
}
 
// ---------------------------------------------------------------------------
// Enable selection key sound
// ---------------------------------------------------------------------------
//
void CTesterAppView::EnableSelectionKeySound()
{
if ( iSoundSystem && iSilentSelection )
{
//release the locked context
iSoundSystem->ReleaseContext();
 
//pop the pushed context from the context stack
iSoundSystem->PopContext();
 
iSilentSelection = EFalse;
}
}


Postconditions

The selection key sound is enabled/disabled by calling methods DisableSelectionKeySoundL() and EnableSelectionKeySound().

See also

CS000952 - Enabling and disabling all key sounds using CAknKeySoundSystem

CS000953 - Using customized key sounds with CAknKeySoundSystem

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

×