首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

一个容易的基于 DirectShow 的播放器 1(封装类)

2013-10-27 
一个简单的基于 DirectShow 的播放器1(封装类)DirectShow最主要的功能就是播放视频,在这里介绍一个简单的

一个简单的基于 DirectShow 的播放器 1(封装类)

DirectShow最主要的功能就是播放视频,在这里介绍一个简单的基于DirectShow的播放器的例子,是用MFC做的,今后有机会可以基于该播放器开发更复杂的播放器软件。

注:该例子取自于《DirectShow开发指南》

首先看一眼最终结果,如图所示,播放器包含了:打开,播放,暂停,停止等功能。该图显示正在播放周杰伦的《听妈妈的话》。

一个容易的基于 DirectShow 的播放器  1(封装类)

迅速进入主题,看一看工程是由哪些文件组成的,如下图所示

一个容易的基于 DirectShow 的播放器  1(封装类)

从上图可以看出,该工程最重要的cpp文件有两个:SimplePlayerDlg.cpp和CDXGraph.cpp。前者是视频播放器对话框对应的类,而后者是对DirectShow功能进行封装的类。尤其是后面那个类,写的很好,可以说做到了“可复用”,可以移植到其他DirectShow项目中。

本文首先分析CDXGraph这个类,SimplePlayerDlg在下篇文章中再进行分析。

首先看看它的头文件:

CDXGraph.h

bool CDXGraph::RenderFile(const char * inFile){if (mGraph){WCHAR    szFilePath[MAX_PATH];MultiByteToWideChar(CP_ACP, 0, inFile, -1, szFilePath, MAX_PATH);if (SUCCEEDED(mGraph->RenderFile(szFilePath, NULL))){return true;}}return false;}

播放器源代码下载:http://download.csdn.net/detail/leixiaohua1020/6453467














热点排行