Implementing the camera snap sound in a Symbian device
Archived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.
The article is believed to be still valid for the original topic scope.
The article is believed to be still valid for the original topic scope.
Article Metadata
Compatibility
Platform(s): S60 1st Edition
S60 2nd Edition
S60 2nd Edition
Article
Created: User:Technical writer 2
(29 Oct 2003)
Last edited: lpvalente
(31 Oct 2012)
Overview
Implementing the camera snap sound in a S60 device.
Description
The most effective way to play the snap sound is to use the CAknKeySoundSystem class. The following code example explains how to implement the feature in your own application:
// myapp.h
#include <aknsoundsystem.h>
const TInt KSnapSoundId = 2;
class MyClass
{
...
private:
CAknKeySoundSystem* iCameraSound;
};
void MyClass::ConstructL()
{
...
iCameraSound =
static_cast<CAknAppUi*>(CEikonEnv::Static()->AppUi())->KeySounds();
if (iCameraSound)
{
TRAPD(error, iCameraSound->AddAppSoundInfoListL(
R_CAMERA_SNAP_SOUND));
if ((error != KErrAlreadyExists) && (error != KErrNone))
{
User::LeaveIfError(error);
}
}
}
void MyClass::PlaySnapSound()
{
iCameraSound->PlaySound(KSnapSoundId);
}
Also add the following code into your application's resource .rss
#define KcameraSoundFile
"Z:\\system\\sounds\\digital\\Camera1a_2_8kHz.wav"
#define KSnapSoundId 2
RESOURCE AVKON_SOUND_INFO_LIST r_camera_snap_sound
{
list =
{
AVKON_SOUND_INFO
{
sid = KSnapSoundId;
priority = 45;
preference = EAknAudioPrefCamera; // defined in avkon.hrh
file = KCameraSoundFile;
}
};
}


(no comments yet)