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

📄 ericmediacontrol.h

📁 一个wince版的播放器 采用directx技术,可以下载参考一下 支持mobile 5 6
💻 H
字号:
/*-----------------------------------------
* Copyright (c) 2008 Eric Wong
* 本版紧供读者参考,不得用于任何商业行为
*
* 文件名称: EricMediaControl.h
* 文件标识: 
* 摘要:用于封装DSHOW 播放视频文件
*
* 当前版本: 1.0
* 作者: 汪兵 Eric Wong
* 完成日期: 2008年2月2日
*
* 取代版本:
* 原作者: 
* 完成日期: 
----------------------------------------*/
#pragma once


#include <dshow.h>

//定义DSHOW 事件通知消息
#define WM_GRAPHNOTIFY  WM_USER + 101

class CEricMediaControl
{
public:
	CEricMediaControl(void);
	~CEricMediaControl(void);

private:
	//DSHOW 接口
	IGraphBuilder *m_pGB ;  
	IMediaControl *m_pMC ;
	IMediaEventEx *m_pME ;
	IVideoWindow  *m_pVW ;
	IBasicAudio *m_pBA ;
	IBasicVideo   *m_pBV ;
	IMediaSeeking *m_pMS ;

	//显示视频的窗口句柄
	HWND m_hOwnerWnd;
private:
	//初始化DSHOW接口
	BOOL InitDShow(LPCTSTR strFileName  /*视频文件名*/
		,HWND hOwnerWnd  /*显示视频的窗口句柄*/
		,HWND hNotifyWnd /*接收DSHOW事件消息的串口句柄*/
		);
	//释放DSHOW接口
	BOOL UnInitDShow();
public:
	//打开视频文件
	BOOL OpenFile(LPCTSTR strFileName /*视频文件名*/
		,HWND hOwnerWnd  /*显示视频的窗口句柄*/
		,HWND hNotifyWnd /*接收DSHOW事件消息的串口句柄*/
		);
	//播放视频
	BOOL VideoRun();
	//暂停视频
	BOOL VideoPause();
	//停止视频
	BOOL VideoStop();
public:
	//设置视频显示比例
	BOOL FitVideoWindow(FLOAT fScale);
	//全屏显示
	BOOL FullScreen();
	//得到是否是全屏显示
	BOOL GetFullScreenStatus();
	//得到DShow播放事件
	BOOL GetMediaEvent(long *lEventCode);
	//设置播放进度,单位: 秒
	BOOL SetPositions(DWORD dwPos /*设置当前播放进度*/);
	//得到视频播放当前的位置,单位:秒
	BOOL GetCurrentPos(DWORD &dwPos  /*out 当前播放进度*/);
	//得到视频文件时间长度,单位:秒
	BOOL GetDuration(DWORD &dwLength);
};

⌨️ 快捷键说明

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