⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mytoneclass.h

📁 《基于symbian手机开发与应用》一书的源代码
💻 H
字号:
// MyToneClass.h: interface for the CMyToneClass class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MYTONECLASS_H__2AB7EC0C_3C48_4BE1_8ED1_6EF39C71CEA2__INCLUDED_)
#define AFX_MYTONECLASS_H__2AB7EC0C_3C48_4BE1_8ED1_6EF39C71CEA2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <mdaaudiotoneplayer.h>
#include <MdaAudioSamplePlayer.h>
#include <MdaAudioSamplePlayer.h>
#include <MdaAudioInputStream.h>
#include <MdaAudioOutputStream.h>
#include <mda\common\audio.h>

//Playing state definition
enum TState
{
	EPlaying,
	EStop
};

class MBasicSoundObserver
{
public:
	virtual void  HandelPlayStopL()=0;
};

class CMyToneClass: public CBase,public MMdaAudioToneObserver,
                                 public MMdaAudioPlayerCallback,
								 public MMdaAudioOutputStreamCallback
{
public:
	static CMyToneClass* NewL(MBasicSoundObserver&);
	static CMyToneClass* NewLC(MBasicSoundObserver&);
	virtual ~CMyToneClass();
private:
	void ConstructL();
	CMyToneClass(MBasicSoundObserver&);
public:
    virtual	void MatoPrepareComplete(TInt aError);
	virtual void MatoPlayComplete(TInt aError);

	virtual void MapcInitComplete(TInt aError,const TTimeIntervalMicroSeconds& aDuration);
	virtual void MapcPlayComplete(TInt aError);

	virtual void MaoscOpenComplete(TInt aError);
	virtual void MaoscBufferCopied(TInt aError,const TDesC8& aBuffer);
	virtual void MaoscPlayComplete(TInt aError);


public:
	void PlayToneL();
	void StopL();
	void PlayClipL();
	void PlayStreamL();
private:
	CMdaAudioToneUtility* iPlayer;
	CMdaAudioPlayerUtility* iPlayerClip;
	CMdaAudioOutputStream* iAudioOutputStream;
	MBasicSoundObserver& iObserver;
	//stream data and buffer
	TUint8* iStreamData;
	TPtr8*  iStreamBuffer;
	TMdaAudioDataSettings iStreamSettings;
	TState iState;
};

#endif // !defined(AFX_MYTONECLASS_H__2AB7EC0C_3C48_4BE1_8ED1_6EF39C71CEA2__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -