00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <AudioTone.rsg>
00019
00020 #include "AudioToneAppUi.h"
00021 #include "AudioToneMainView.h"
00022 #include "AudioTonePlayer.h"
00023 #include "AudioTone.hrh"
00024
00025
00026 const TInt KOneSecond = 1000 * 1000;
00027
00028 const TInt KOctaveA = 440;
00029
00030 const TInt KFrequencyOne1 = 1209;
00031 const TInt KFrequencyOne2 = 697;
00032
00033
00034
00035
00036
00037
00038 void CAudioToneAppUi::ConstructL()
00039 {
00040
00041
00042 BaseConstructL(EAknEnableSkin);
00043
00044 iMainView = CAudioToneMainView::NewL(ClientRect());
00045
00046
00047 iTonePlayer = CAudioTonePlayer::NewL();
00048 }
00049
00050
00051
00052
00053 CAudioToneAppUi::~CAudioToneAppUi()
00054 {
00055 delete iTonePlayer;
00056
00057
00058 if (iMainView)
00059 {
00060 delete iMainView;
00061 iMainView = NULL;
00062 }
00063
00064 }
00065
00066
00067
00068
00069 void CAudioToneAppUi::HandleCommandL(TInt aCommand)
00070 {
00071 switch ( aCommand )
00072 {
00073
00074
00075
00076 case EAknSoftkeyExit:
00077
00078 case EEikCmdExit:
00079 {
00080 Exit();
00081 break;
00082 }
00083
00084 case EAudioTonePlayTone:
00085 {
00086 iTonePlayer->PlayTone(KOctaveA,
00087 TTimeIntervalMicroSeconds(2 * KOneSecond));
00088 break;
00089 }
00090
00091 case EAudioTonePlayDualTone:
00092 {
00093 iTonePlayer->PlayDualTone(KFrequencyOne1, KFrequencyOne2,
00094 TTimeIntervalMicroSeconds(KOneSecond));
00095 break;
00096 }
00097
00098 case EAudioToneStopTone:
00099 {
00100 iTonePlayer->Stop();
00101 break;
00102 }
00103
00104 default:
00105
00106 break;
00107 }
00108 }
00109
00110
00111
00112
00113
00114
00115
00116 void CAudioToneAppUi::HandleResourceChangeL(TInt aType)
00117 {
00118 CAknAppUi::HandleResourceChangeL(aType);
00119 iMainView->SetRect(ClientRect());
00120 }
00121
00122
00123
00124