欢迎来到天天文库
浏览记录
ID:12124410
大小:232.50 KB
页数:16页
时间:2018-07-15
《基于directshow视频播放器的开发与设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VC程序设计报告XXXX学院软件设计题目:基于DirectShow的视频播放器所在系:计算机科学系专业:计算机科学与技术学号:作者姓名:指导教师:2013年10月5日VC程序设计报告基于DirectShow的视频播放器摘要:DirectShow是微软WindowsSDK中的流媒体开发平台,它基于COM技术。采用DirectShow开发视频播放软件,具有快捷、代码量少和程序稳健的特点。本文介绍用DirectShow开发视频播放器的基本过程。关键词:DirectShow,COM,视频播放器Abstract:DirectShow,basedonCOM
2、technology,isanimportantcomponentofMicrosoftWindowsplatformSDK.DevelopingvideoplayerusingDirectShowhasthebenefitsofquickness,reducedcodeandrobustness.ThispaperintroducesthebasicprocedureofdevelopingvideoplayerbasingDirectShow.Keyword:DirectShow,COM,VideoPlayerVC程序设计报告目录1.引言2
3、2.DirectShow介绍22.1DirectShow系统22.2.DirectShow技术32.2.1过滤器Filter32.2.2针脚Pin32.2.3FilterGraph42.2.4FilterGraphManager42.3.基于DirectShow的应用程序开发42.4播放媒体文件43.视频播放器的开发53.1开发环境的配置53.2.基于对话框的MFC应用程序53.3编辑对话框界面63.4.视频窗口控制63.5.封装类CDXGraph73.6.创建FilterGraph73.7.处理FilterGraph的事件73.7.1消息映射
4、73.7.2图表消息响应函数83.7.3打开按钮响应函数93.7.4播放按钮响应函数93.7.5暂停按钮响应函数93.7.6停止按钮响应函数103.7.7进度条的实现104.程序测试115.参考文献11VC程序设计报告1.引言DirectShow是微软公司在ActiveMovie和VideoforWindows的基础上推出的新一代基于COM(ComponentObjectModel)的流媒体处理的开发包,与DirectX开发包一起发布。DirectShow为多媒体流的捕捉和回放提供了强有力的支持。运用DirectShow,可以很方便地从支持WD
5、M驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。这样使在多媒体数据库管理系统(MDBMS)中多媒体数据的存取变得更加方便。DirectShow广泛地支持各种媒体格式,包括Asf、Mpeg、Avi、Dv、Mp3、Wave等等,使得多媒体数据的回放变得轻而易举。另外,DirectShow还集成了DirectX其它部分(比如DirectDraw、DirectSound)的技术,直接支持DVD的播放,视频的非线性编辑,以及与数字摄像机的数据交换。本文基于DirectShow实现能播放多种格式文件(AVI、MPEG、WAV)的视频播
6、放器。2.DirectShow介绍2.1DirectShow系统DirectShow的架构如图1所示。图中央最大的一块即是DirectShow系统,虚线以下是Ring0特权级别的硬件设备,虚线以上是Ring3特权级别的应用层。DirectShow系统位于应用层中。它使用一种叫FilterGraph的模型来管理整个数据流的处理过程;参与数据处理的各个功能模块叫做Filter;各个Filter在FilterGraph中按一定的顺序连接成一条“流水线”协调工作。[1]VC程序设计报告图1DirectShow架构2.2.DirectShow技术2.2.
7、1过滤器Filter过滤器是DirectShow的基本“建筑”单元。DirectShow把数字媒体的处理(播放、捕获和格式转换)划分为一些独立的步骤,过滤器就是完成一个或多个步骤的COM对象。按照功能来分,Filter大致分为3类:SourceFilter、TransformFilter和RenderingFilter。SourceFilter主要负责获取数据,数据源可以是文件、因特网计算机里的采集卡(WDM驱动的或VFW驱动的)数字摄像机等,然后将数据往下传输;TransformFilter主要负责数据的格式转换,例如数据流分离、合成,解码、
8、编码等,然后将数据继续往下传输;RenderingFilter主要负责数据的最终去向——将数据送给显卡、声卡进行多媒体的演示,或者输出到文件进行存储。
此文档下载收益归作者所有