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

📄 player.h

📁 一款用与WINCE.0下播放MP3的播放软件,可以播放多中音频文件
💻 H
字号:
#ifndef __PLAYERH__
#define __PLAYERH__

#include <streams.h>
#include <control.h>
#include "VrendModeFlag.h"
#include "../Coordinate.h"

// #define VOLUME_FULL     0L
// #define VOLUME_DEF		-4000L
// #define VOLUME_SILENCE  -10000L

typedef enum _PlayState
{
	STATE_PLAY = 1,
	STATE_STOP,
	STATE_PAUSE,
	STATE_SEEK,
	STATE_INIT,
	STATE_RELEASE,
}PLAYSTATE;


class	CPlayer
{
public:
	CPlayer(void);

	int Initialize(HWND wndplay,TCHAR *name);
	
	HRESULT play();	
	HRESULT pause();
	HRESULT seek(int seektime);
	HRESULT stop();
	HRESULT checkautostop();

	HRESULT   GetMediaDuration(REFTIME&   llMediaLength); 
	HRESULT   GetMediaCurrPos(REFTIME&   llMediaLength);
	HRESULT   SetMediaPos(REFTIME   llMediaPos);
	HRESULT   SetVolume(LONG dwVolume);

	void release();
	void DeleteFilters();

public:
	PLAYSTATE	play_state;
	BOOL		m_bFullscreen;
protected:
	HWND		ghApp;
	HRESULT		hr;
	
	IGraphBuilder *pGraph;	//   Filter   Graph组件接口 
	IMediaControl *pMC;		//   播放控制接口
	IBasicAudio   *pBA;		//   音频相关接口 
	IMediaSeeking *pMS;		//   随机定位接口 
	IMediaPosition *pMP;
	IMediaEventEx *pME;		//   IMediaEventEx接口,让应用程序及时处理Filter   Graph   Manager发出的事件 

};

void Msg(TCHAR *szFormat, ...);

#define SAFE_RELEASE(x){ if(x) x->Release(); x = NULL; }

#define JIF(x) if (FAILED(hr=(x))) \
{Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("\n\0"), hr); return hr;}

#define LIF(x) if (FAILED(hr=(x))) \
{Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("\n\0"), hr);}

#endif

⌨️ 快捷键说明

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