📄 audioplayerengine.h
字号:
#ifndef __AUDIOPLAYERENGINE_H__
#define __AUDIOPLAYERENGINE_H__
#include <MdaAudioTonePlayer.h>
#include <MdaAudioSamplePlayer.h>
#include <MdaAudioOutputStream.h>
#include <mda\common\audio.h>
class MAudioPlayerEngineObserver
{
public:
virtual void HandlePlayingStoppedL() = 0;
};
// CLASS DECLARATION
/**
*
* @class AudioPlayerEngine AudioPlayerEngine.h
* @brief The engine plays the following
* -> a tone
* -> a wav file
* -> a midi file
* -> a stream, continuously, until stopped
*
* Copyright (c) EMCC Software Ltd 2003
* @version 1.0
*
*/
class CAudioPlayerEngine : public CBase,
public MMdaAudioToneObserver,
public MMdaAudioPlayerCallback,
public MMdaAudioOutputStreamCallback
{
public:
enum TState { EStopped, EPlaying };
public:
static CAudioPlayerEngine* NewL(MAudioPlayerEngineObserver& aObserver);
~CAudioPlayerEngine();
public: // MMdaAudioToneObserver
virtual void MatoPrepareComplete(TInt aError);
virtual void MatoPlayComplete(TInt aError);
public: // MMdaAudioPlayerCallback
virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
virtual void MapcPlayComplete(TInt aError);
public: // MMdaAudioOutputStreamCallback
virtual void MaoscOpenComplete(TInt aError);
virtual void MaoscBufferCopied(TInt aError, const TDesC8& aBuffer);
virtual void MaoscPlayComplete(TInt aError);
public:
void PlayToneL();
void PlayWavL();
void PlayMidiL();
void PlayStreamL();
void Stop();
public:
inline const TState& State() const;
private:
CAudioPlayerEngine(MAudioPlayerEngineObserver& aObserver);
void ConstructL();
private:
MAudioPlayerEngineObserver& iObserver;
CMdaAudioPlayerUtility* iPlayerFile;
CMdaAudioToneUtility* iPlayerTone;
CMdaAudioOutputStream* iPlayerStream;
TMdaAudioDataSettings iStreamSettings;
TUint8* iStreamData;
TPtr8* iStreamBuffer;
TState iState;
};
// inline functions
const CAudioPlayerEngine::TState& CAudioPlayerEngine::State() const { return iState; }
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -