player.h
来自「一个在WINCE5.0下开发的MP4播放器,可以播放多种视频文件,画面优质.」· C头文件 代码 · 共 75 行
H
75 行
#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 + =
减小字号Ctrl + -
显示快捷键?