www.pudn.com > Example2D.rar > CAudio.h


/////////////////////////////////////////////////////////////////////////////// 
// 
// CAudio.h 
// 
// Copyright (c) 2003 Forum Nokia.  All rights reserved. 
// 
// 	 Technology developed by Rocket Science Oy Ltd 
// 
/////////////////////////////////////////////////////////////////////////////// 
 
 
#ifndef __CAUDIOPLAY_H__ 
#define __CAUDIOPLAY_H__ 
 
// INCLUDE FILES 
#include  
#include  
#include  
 
// FORWARD DECLARATIONS 
class MAudioSource; 
 
// CLASS DECLARATION 
/** 
* A class ...  
*  
*/ 
class CAudio 
	: public CBase 
	, public MMdaAudioOutputStreamCallback 
	{ 
	public: 
		/** 
		* Two-phased constructors 
		*/ 
		static CAudio* NewL(); 
		static CAudio* NewLC(); 
 
		/** 
		* Destructor. 
		*/ 
		~CAudio(); 
 
	private:	 
 
		/** 
		* Default constructor 
		*/ 
		CAudio(); 
 
		/** 
		* Second phase constructor 
		*/ 
		void ConstructL(); 
 
	private: // From MMdaAudioOutputStreamCallback 
		void MaoscOpenComplete( TInt aError ); 
		void MaoscBufferCopied( TInt aError, const TDesC8& aBuffer ); 
		void MaoscPlayComplete( TInt aError ); 
 
	public: // New methods 
		/** 
		* Holds current error status. 
		* @return standard error code 
		*/ 
		TInt Error(); 
 
		/** 
		* Sets audio source. 
		* Audio source generates the actual sound. 
		* @param MAudioSource* Audio source 
		*/ 
		void SetAudioSource( MAudioSource* aSource ); 
		 
	public: // Data members 
	 
		CMdaAudioOutputStream* iStream;		/// audio stream 
		TMdaAudioDataSettings iSet;			/// audio stream settings 
		TInt iAudioBufferLen;				/// audio buffer length 
		TInt16* iAudioBuffer;				/// audio buffer 
		TPtrC8 iAudioPtr;					/// pointer to audio buffer 
		TInt iError;						/// global error value 
 
		MAudioSource* iAudioSource;			/// audio source 
		 
	}; 
 
#endif 
 
// End of file