audioplayerengine.h
来自「Symbian S60下的声音播放器的例子,适合初学者」· C头文件 代码 · 共 86 行
H
86 行
#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 + =
减小字号Ctrl + -
显示快捷键?