mystone.h

来自「S60 3版 音乐播放器及进度条实现 功能:前后倒放歌曲及暂停等功能」· C头文件 代码 · 共 91 行

H
91
字号
/*
============================================================================
Name        : MyStone.h
Author      : 
Version     :
Copyright   : Your copyright notice
Description : MyStone.h - header file
============================================================================
*/

#ifndef MYSTONE_H
#define MYSTONE_H

#include <MdaAudioTonePlayer.h>
#include <MdaAudioSamplePlayer.h>
#include <MdaAudioOutputStream.h>
#include <mda\common\audio.h>
#include <BADESCA.H>
//CSymbian4 <mmf\plugin\mmfPluginInterfaceUIDs.hrh>

class MAudioPlayerEngineObserver
{
public:
	virtual void HandlePlayingStoppedL() = 0;
};


class CMyStone:public CBase, public MMdaAudioPlayerCallback
{
public:
	enum TState{ ENone = 0,EPlaying,EPause,EStopped  };

	static CMyStone* NewL(/*MAudioPlayerEngineObserver& aObserver*/);
	static CMyStone* NewLC(/*MAudioPlayerEngineObserver& aObserver*/);
	/**
	* C++ default constructor
	*/
	CMyStone(/*MAudioPlayerEngineObserver& aObserver*/);

	/**
	* EPOC default constructor.
	*/
	void ConstructL();

	/**
	* Destructor.
	*/
	virtual ~CMyStone();

public:

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

	void MapcPlayComplete(TInt aError);

	void Stop();

	void Pause();

	void Time(TDes& aTime,TDes& afirst);//获取播放时间

	void PLayMusic(TInt aCurrent); //播放当前歌曲


	CMdaAudioPlayerUtility* iPlayer;//提供对音频处理函 数

   void SetMusicVolume(TInt aVolume);

public:

	inline const TState& State() const;

    TInt64 GetNum();
	TInt64 GetLength();
private:
	//	MAudioPlayerEngineObserver& iObserver;
	CDesCArrayFlat* iArrayFlat; //接收UI中播放列表数组
	TState            iState;//状态位
	TInt iIndex;
	TInt iVolume;
	TTimeIntervalMicroSeconds iLastPosition;//存储时间
private:
    TInt64  ilength;
	TInt64  islow;
};

const CMyStone::TState& CMyStone::State() const    { return iState; }
#endif

⌨️ 快捷键说明

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