当前位置:文档之家› 在线视频播放系统的设计与实现

在线视频播放系统的设计与实现

题目在线视频播放系统的设计与实现学生姓名崔媛媛学号 ********** 所在学院物理与电信工程学院专业班级电子1202 指导教师李菊叶完成地点物电学院计算机信息处理分室2016 年6月5日毕业论文﹙设计﹚任务书院(系) 物电学院专业班级电子信息工程学生姓名崔媛媛一、毕业论文﹙设计﹚题目在线视频播放系统的设计与实现二、毕业论文﹙设计﹚工作自 2016 年 3 月 10 日起至 2016 年 6 月 20 日止三、毕业论文﹙设计﹚进行地点: 物电学院计算机信息处理分室四、毕业论文﹙设计﹚的内容要求:随着网络的普及,在线播放器也日益普及起来。

本设计要求学生利用Visual C++为开发工具,使用DirectShow SDK技术开发一个功能齐全的视频播放器,要求能够对硬盘或存储设备上的多媒体文件进行播放,及在回放或显示过程中,用户可以控制回放的动作和显示特性等相关功能。

五、毕业论文﹙设计﹚应收集资料及参考文献:[1]徐孝凯,张纪勇.C++面向对象程序设计:VC++6.0运行环境[M].天津大学出版社2009.[2]汪晓平,钟军.VC++网络通信协议分析与应用实现[M].北京:人民邮电出版社,2003.[3]王艳平,张越.Windows网络与通信程序设计[M].北京:人民邮电出版社,2006.[4] Andrew S.Tanenbau.计算机网络(第四版)[M].北京:清华大学出版社,2004.[5]谢希仁.计算机网络(第五版)[M].北京:电子工业出版社,2012.[6]朱桂英.张元亮 Visual C++网络编程开发与实践[M].清华大学出版社.2013.六、毕业论文﹙设计﹚的进度安排:3月2日——3月29日:查阅资料,完成初步设计方案和开题报告。

4月1日——4月26日:根据视频播放系统的工作原理,给出设计方案,及软件流程图。

4月29日——5月24:并在软件环境下进行运行调试,进一步完善系统功能,整理资料;5月27日——6月7日:撰写、修改毕业设计论文。

6月10日——6月15日:打印论文准备并完成答辩。

指导教师签名系(教研室)主任签名专业负责人签名批准日期在线视频播放系统的实现与设计崔媛媛(陕西理工学院物理与电信工程学院电子信息工程专业,2012级2班,陕西汉中 723000)指导教师:李菊叶[摘要]本设计在Visual C++环境下,利用MFC程序设计方法。

并利用DirectShow的播放器核心技术,重点实现了播放、暂停、停止、声音控制、进度控制、抓取视频帧、播放模式控制、全屏等功能。

通过对系统的需求分析、设计、实现,完成了多媒体播放器系统,各项功能使用正常,并给出了实现关键代码。

DirectShow是基于COM组件,它是二进制级别的(不受限于编程语言和操作系统),具有很好的兼容性和移植性。

[关键字]Visual C++;MFC;DirectShow;播放器The design and implement of online video broadcastsystemCui Yuanyuan(Grade12,Class02,Major electronics and information engineering,School of Physics and Telecommunication Engineering,Shaanxi University of Technology,Hanzhong 723000,Shaanxi)Tutor:Li JuyeAbstract:This design uses MFC program design methods Under Visual C++environment. At the same time,uses DirectShow player core technology. Focus to achieve the play, pause, stop, sound control, schedule control, grab video frames, playback mode control, full screen and other functions.Through the system requirements analysis, design, implementation, completed a media player system, various functions normal use, and gives the realization key code.DirectShow is based on the COM component, it is a binary level (not limited to programming languages and operating systems), has good compatibility and portability.Keywords:Visual C++ ;MFC;DirectShow;Player目录1.引言 (1)1.1背景 (1)1.2 研究目的 (1)1.3 开发环境及语言 (1)1.3.1 VC++2010平台 (1)1.3.2 MFC概述 (1)2. DirectShow介绍 (3)2.1 DirectShow系统 (3)2.2 DirectShow技术 (3)2.2.1 过滤器 (3)2.2.2 COM组件 (4)2.2.3针脚Pin (4)2.2.4 Filter Graph (5)2.2.5 Filter Graph Manager (5)2.2.6 Filter Graph中的数据流动 (5)2.3 Directshow事件交互 (5)2.4 基于DirectShow的应用程序开发 (7)2.5播放媒体文件 (7)3.多媒体播放器的设计 (9)3.1系统功能设计 (9)3.1.1媒体文件添加 (9)3.1.2媒体文件存储和显示 (9)3.1.3媒体文件播放及控制 (9)3.2系统结构设计 (9)3.3 播放器滤波器链表结构设计 (9)3.4播放视频文件的流程 (9)3.5 Directshow智能连接 (10)3.5.1智能连接概述 (10)3.5.2智能连接的实现 (10)4.视频播放器的开发 (12)4.1开发环境的配置 (12)4.2.基于对话框的MFC应用程序 (13)4.3 编辑对话框界面 (13)4.4.视频窗口控制 (14)4.5封装CDXGraph (14)4.6.创建Filter Graph (15)4.7创建播放主题 (15)4.7.1 打开按钮响应函数 (15)4.7.2渲染 (15)4.7.3播放按钮响应函数 (16)4.7.4静音控制 (17)4.7.5全屏 (17)4.7.6暂停、停止 (18)4.7.7抓图按钮响应函数 (19)4.7.8退出按钮响应函数 (20)4.7.9进度条的实现 (20)5.播放控制 (21)5.1视频窗口中的右击快捷菜单 (21)5.2相应菜单子项 (22)5.3速率控制 (23)6.程序测试 (24)6.1 多媒体播放器的主题界面 (24)6.2程序功能实现 (24)6.3 测试结论 (24)结束语 (25)致谢 (26)参考文献 (27)附录A (28)附录B (34)1.引言随着社会的发展,信息技术越来越发达,在线视频播放器在未来社会应用也会越来越普遍。

Microsoft的Windows操作系统作为全球最主流、最常用的操作系统,掌握在它上面的多媒体开发技术显得越来越需要,相对于其他多媒体开发技术,掌握它本身提供的DirectX多媒体开发包显得更为适合。

DirectShow是微软提供的多媒体开发包DirectX中的一部分,它是建立在DirectDraw和DirectSound基础之上。

Microsoft给DirectShow程序员提供了一套开发多媒体标准的、统一的、高效的API接口,这些接口使得多媒体数据的回放变得简单,剥离了应用程序和硬件底层的差异性。

而DirectShow是基于COM组件的开发包,COM是基于二进制代码级的协议(与编程语言无关的协议),对使用DirectShow开发的软件以后的移植和兼容问题提供了良好的解决方案。

DirectShow 使用智能连接开发多媒体应用程序,大大简化了开发人员工作量,同时开发人员亦可开发自定义的滤波器。

使得基于DirectShow的应用程序可以充分满足不同用户的需求。

在未来几年中,DirectShow 技术的发展前景将是非常广阔的。

1.1背景当今信息技术越来越发达,社会越来越信息化、智能化,多媒体在未来社会应用越来越广泛。

Microsoft的Windows操作系统作为全球最主流、最常用的操作系统,掌握在它上面的多媒体开发技术显得越来越需要,相对于其他多媒体开发技术,掌握它本身提供的DirectX多媒体开发包显得更为适合。

1.2 研究目的DirectShow是微软提供的多媒体开发包DirectX中的一部分,它是建立在DirectDraw和DirectSound基础之上。

Microsoft给DirectShow程序员提供了一套开发多媒体标准的、统一的、高效的API接口,这些接口使得多媒体数据的回放变得简单,剥离了应用程序和硬件底层的差异性。

而DirectShow是基于COM组件的开发包,COM是基于二进制代码级的协议(与编程语言无关的协议),对使用DirectShow开发的软件以后的移植和兼容问题提供了良好的解决方案。

DirectShow 使用智能连接开发多媒体应用程序,大大简化了开发人员工作量,同时开发人员亦可开发自定义的滤波器。

使得基于DirectShow的应用程序可以充分满足不同用户的需求。

在未来几年中DirectShow 技术的发展前景将是非常广阔的。

1.3 开发环境及语言本文中视频播放系统使用C++语言及Directshow SDK技术,使用visual c++ 2010软件在directshow的开发环境下进行视频播放器的开发。

1.3.1 VC++2010平台Microsoft Visual C++,(简称Visual C++、MSVC、VC++或VC)C++语言开发工具,一个集成的开发环境,能够提供编辑C语言,C++以及C++/CLI系列编程语言。

VC++整合便利的除错工具,尤其是整合Windows API、三维的动画DirectX API,Microsoft .NET框架[1]。

Microsoft Visual C++是微软公司推行开发的Win32环境程序、面向对象且可视化的集成化可编程系统。

相关主题