00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __AUDIORECORDER_H__
00012 #define __AUDIORECORDER_H__
00013
00014 #include <mdaaudiosampleeditor.h>
00015
00016
00021 class MRecorderObserver {
00022 public:
00028 virtual void RecordCompleted(TInt anError) = 0;
00029 };
00030
00031
00037 class CAudioRecorder : public CBase, public MMdaObjectStateChangeObserver {
00038 public:
00046 static CAudioRecorder *NewL(MRecorderObserver *aObserver);
00047
00051 ~CAudioRecorder();
00052
00061 void RecordL(TDes8 &aTarget);
00062
00066 void CancelRecord();
00067
00068
00069 void MoscoStateChangeEvent(CBase *aObject, TInt aPreviousState,
00070 TInt aCurrentState, TInt aErrorCode);
00071
00072 private:
00073 CAudioRecorder(MRecorderObserver *aObserver);
00074 void ConstructL();
00075
00076 MRecorderObserver *iObserver;
00077
00078 enum {
00079 EStateNone = 0,
00080 EStateOpening,
00081 EStateOpen,
00082 EStateRecording
00083 } iState;
00084
00085 CMdaAudioRecorderUtility *iRecorder;
00086 CMdaAudioType *iAudioType;
00087 TMdaDesClipLocation *iClipLocation;
00088 };
00089
00090
00091 #endif