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

📄 player.h

📁 一个在WINCE5.0下开发的MP4播放器,可以播放多种视频文件,画面优质.
💻 H
字号:
#ifndef __PLAYERH__
#define __PLAYERH__

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


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 fullscreen(BOOL bFull);
	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;		//   音频相关接口 
	IBasicVideo   *pBV;		//   视频相关接口 
	IVideoWindow  *pVW;		//   视频相关接口 
	IMediaSeeking *pMS;		//   随机定位接口 
	IMediaPosition *pMP;
	IMediaEventEx *pME;		//   IMediaEventEx接口,让应用程序及时处理Filter   Graph   Manager发出的事件 


	IBaseFilter* mpVideoRenderer;

};

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 + -