毕业设计论文:基于DirectShow的多媒体播放器设计与实现.doc
《毕业设计论文:基于DirectShow的多媒体播放器设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计论文:基于DirectShow的多媒体播放器设计与实现.doc(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、毕业论文 编号 毕 业 设 计(论文)基于DirectShow的多媒体播放器设计与实现 目 录摘 要IAbstractII1 绪论11.1 课题研究的背景与意义11.2 课题国内外研究现状11.3 可行性分析21.3.1 技术可行性分析21.3.2 经济可行性分析21.3.3 管理可行性分析21.4 论文的主要内容及章节安排32 相关平台及开发技术简介32.1 Microsoft Visual C+ 2010概述32.1.1 MicosoftVisual C+ 2010特点32.1.2 MFC概述42.2 ADO访问数据库技术概述42.2.1 OLE DB和ADO简介42.2.2 ADO主要对
2、象介绍52.2.3 VC+中使用ADO进行数据库开发的基本流程52.3 DirectShow核心技术52.3.1 DirectShow整体架构52.3.2 COM组件62.3.3 Filter概述及连接62.3.4 滤波器链表管理器72.3.5 滤波器链表中数据传输72.3.6 事件通知机制82.4 Skin+皮肤库概述92.4.1 Skin+简介92.4.2 Skin+特性93 系统需求分析93.1 系统业务需求93.2 系统数据需求103.3 功能需求103.4 非功能需求103.4.1 适应性103.4.2 安全性103.4.3 可靠性113.4.4 可扩充性113.4.5 可维护性11
3、3.4.6 可移植性114 多媒体播放器的设计114.1 系统功能设计114.1.1 媒体文件添加(数据输入)114.1.2 媒体文件存储和显示(数据存储及显示)124.1.3 媒体文件播放及控制(数据流传输、控制及输出)124.2 系统结构设计124.3 系统数据库设计134.4 播放器滤波器链表结构设计134.5 DirectShow智能连接134.5.1 智能连接概述134.5.2 智能连接的实现145 多媒体播放器的实现145.1 基于DirectShow播放器的实现145.1.1 初始化COM145.1.2 创建滤波器链表管理器155.1.3 智能连接建立滤波器链表155.2 Dir
4、ectShow接口实现155.3 媒体文件信息存储实现155.3.1 数据库存储165.3.2 链表存储165.3.3 List列表显示175.4 播放控制功能的实现185.4.1 定位185.4.2 播放195.4.3 暂停、停止195.4.4 全屏195.4.5 截图205.4.6 静音控制205.4.7 速率控制215.4.8 上一个和下一个215.4.9 查找225.4.10 删除225.4.11 排行榜235.4.12 播放模式设置245.4.13 帮助245.4.14捕获本地摄像头255.5 歌词关联实现265.5.1 歌词构造原理概述265.5.2 获取歌词方法及过程275.5.
5、3 遇到难点和问题275.6 用户管理功能实现285.6.1 用户注册285.6.2 用户登录295.6.3 用户使用系统整体流程295.7 播放JPG格式图片实现305.7.1 JPG格式图片缩放实现305.7.2 JPG格式图片的显示306 测试多媒体播放器实例及结论316.1 测试环境设计316.1.1 软件环境316.1.2 硬件环境326.2 测试用例设计326.3 测试结果分析336.3.1 多媒体播放器的主题界面336.3.2 多媒体播放器测试结果记录346.4 测试结论35结束语35致 谢35参考文献36 摘 要随着数字音视频处理、数字信息存储技术的不断发展,基于数字编解码的多
6、媒体应用已经越来越深入到人们的日常生活中,如何高效处理声音、视频数据以及支持媒体文件格式则成为主要的问题。DirectShow SDK是微软公司提供的一套在Windows平台上进行媒体处理的开发包,它支持高品质的数字视频、高保真的音频及其它特殊效果,广泛应用于流媒体播放器的开发、多媒体流的高质量捕捉和回放、视频点播技术等。 本论文概括性的阐述了基于DirectShow开发多媒体播放器的具体过程。重点实现了播放、暂停、停止、前后切换 、声音控制、进度控制、抓取视频帧、排行榜、删除、查找、播放模式控制、全屏等功能。其中使用的技术包括Visual C+以及MFC程序设计方法、利用DirectShow
7、实现播放器核心技术、ADO数据库访问技术、Skin+皮肤库技术。通过对系统的需求分析、设计、实现,完成了媒体播放器系统,各项功能正常使用、并给出了实现关键代码。论文中第二章是对相关技术的介绍,第三、四章是对系统需求分析和设计,第五章是本论文的重点,详细介绍播放器实现细节,第六章是对系统的测试和总结。DirectShow是基于COM组件,它是二进制级别的(不受限于编程语言和操作系统),具有很好的兼容性和移植性。由于本人是DirectShow的初学者,播放器存在一些瑕疵,DirectShow发展前景广阔,以后有机会深入研究它,在现有的基础上把播放器做得更加完美。关键字:Visual C+ MFC
8、DirectShow 播放器IAbstractWith digital audio and video processing, digital information storage technology continues to evolve, based on the digital encoding and decoding of multimedia applications has become increasingly penetrated into peoples daily lives, how to efficiently handle voice, video, data,
9、 and support for media file format has become a major problem.DirectShow SDK is a set of Microsoft Corporation on the Windows platform for media processing development kit, which supports high-quality digital video, high-fidelity audio, and other special effects, widely used in the development of st
10、reaming media player, multimedia streaming high-quality capture and playback, video-on-demand technology.This thesis describes the broad development of multimedia player based on DirectShow specific process. Focus to achieve the play, pause, stop, forward or backward, sound control, schedule control
11、, grab video frames, leaderboards, delete, search, playback mode control, full screen and other functions.Which use technologies include Visual C+ and MFC program design methods, the use of DirectShow player core technology, ADO database access technology, Skin+ library technology skin.Through the s
12、ystem requirements analysis, design, implementation, completed a media player system, various functions normal use, and gives the realization key code.The second chapter is a paper related to technology introduction, two chapters is the system requirements analysis and design, the fifth chapter is t
13、he focus of this paper, detailing the implementation details of the player, the sixth chapter is the system testing and summary.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. Since I
14、 was a beginner DirectShow, the player has some flaws, DirectShow development prospects, have the opportunity to study it in depth, on the basis of the existing players more perfect.Key words:Visual C+ MFC DirectShow PlayerII1 绪论1.1 课题研究的背景与意义当今信息技术越来越发达,社会越来越信息化、智能化,多媒体在未来社会应用越来越广泛。Microsoft的Window
15、s操作系统作为全球最主流、最常用的操作系统,掌握在它上面的多媒体开发技术显得越来越需要,相对于其他多媒体开发技术,掌握它本身提供的DirectX多媒体开发包显得更为适合。DirectShow是微软提供的多媒体开发包DirectX中的一部分,它是建立在DirectDraw和DirectSound基础之上。 Microsoft给DirectShow程序员提供了一套开发多媒体标准的、统一的、高效的API接口,这些接口使得多媒体数据的回放变得简单,剥离了应用程序和硬件底层的差异性。而DirectShow是基于COM组件的开发包,COM是基于二进制代码级的协议(与编程语言无关的协议),对使用Direct
16、Show开发的软件以后的移植和兼容问题提供了良好的解决方案。 DirectShow使用智能连接开发多媒体应用程序,大大简化了开发人员工作量,同时开发人员亦可开发自定义的滤波器。使得基于DirectShow的应用程序可以充分满足不同用户的需求。在未来几年中,DirectShow技术的发展前景将是非常广阔的。 1.2 课题国内外研究现状DirectShow流媒体视频技术现在广泛的应用在国内外,涉及视频处理、视频捕捉、网络视频监控、网络视频传输和电子商务等各个方面。 国内的视频播放器多种多样,有暴风影音、QQ影音、迅雷看看等多种播放器,它们各自有各自的特点,目前暴风影音占据着市场的最大份额,它们各自
17、采用的实现技术有所异同。随着Internet的商业化,一些商家纷纷行动规划开发适用于本企业的播放器。根据iResearch艾瑞资讯最新退出的网民连续用户行为研究系统iUserTracker的最新数据显示,目前,比较流行的多媒体播放器有:Microsoft Windows Media Player、RealOne、豪杰超级解霸以及暴风影音等,暴风影音和Windows Media Player是使用最广泛的影视播放软件,而这量大播放器的核心编码已成控件,因此全球网络化的公司都在利用这两大核心控件开发适合自己使用的播放器;网络上也有不少的研究者热衷于播放器的研究利用控件或MCT接口开发自己的播放器,
18、并取得了很大的进步,推动了播放器的发展。笔者所开发的多媒体播放器是使用的DirectShow技术,使用K-Lite_Codec_Pack进行解码,能播放任意格式的媒体文件,和其他播放器不同的是,我加入了排行榜、播放模式控制、捕获设备视频等功能,界面清晰,使用简单。 1.3 可行性分析1.3.1 技术可行性分析本人熟悉计算机相关基本知识、熟悉程序设计方法、熟练掌握VC+编程、MFC开发方法和技巧,具备一定的编程经验和独立编程能力。基于DirectShow视频播放器实现原理可以通过查阅相关资料、请教老师和他人进行学习掌握,所以在技术上具有可行性。1.3.2 经济可行性分析该软件的开发、测试、运行使
19、用等步骤皆在自己PC上完成,无需提供其他设备。 开发过程中涉及到的知识、软件开发成本、交付后的运营维护皆由本人控制、完成,所用的软件和硬件配置环境均为现成,所以经济上具有可行性。1.3.3 管理可行性分析本软件运用到实际生活、工作中,将会使音频/视频的播放和处理变得便利、经济及娱乐,而且还可以根据朋友、他人的用户体验不断完善此软件,可以感受到成就感,所以管理上具有可行性。综上所述,本课题的可行性是有保障的。1.4 论文的主要内容及章节安排论文的主要内容:详细的阐述利用DirectShow实现多媒体播放器的原理、实现过程以及实现之后的演示效果,当中包含大量的Visual C+程序设计方法和数据库
20、操作。论文内容整体安排如下:第一章:介绍此课题的意义、相关背景和现状。第二章:介绍完成此软件所用到的平台和技术。第三章:阐述此软件的需求分析,包括业务分析、数据分析、功能需求和非功能需求。第四章:阐述此软件的整体结构和各个模块设计。第五章:详细阐述此软件的具体实现过程,包括各功能的核心代码。 最后是总结、致谢。 2 相关平台及开发技术简介2.1 Microsoft Visual C+ 2010概述Microsoft Visual C+,(简称Visual C+、MSVC、VC+或VC)微软公司的C+开发工具,具有集成开发环境,可提供编辑C语言,C+以及C+/CLI等编程语言。VC+整合了便利的
21、除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架。2.1.1 MicosoftVisual C+ 2010特点Microsoft Visual C+是微软公司推出的开发Win32环境程序、面向对象的可视化集成编程系统。它的主要优点如下:(1)程序框架自动生成(2)灵活方便的类管理(3)代码编写和界面设计集成交互操作(4)可开发多种程序(5)支持数据库接口、OLE2、WinSock网络和3D控制界面2.1.2 MFC概述MFC(Microsoft Foundation Classes)是一个微软公司提供的类库(cl
22、ass libraries),以C+类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。MFC中的关键技术:(1) MFC程序的初始化过程建立一个MFC窗口:从CWinApp派生一个应用程序类,然后建立应用程序对象(theApp)。(2) 动态创建运行时创建指定类的对象。如框架窗口对象、视对象等,比如文档对象需要由文档模版类对象来动态的创建。 (3) 串行化程序中尽管有着各种各样的数据,串行化机制会像流水一样按顺序存储到单一的文件中,而又能按顺序的取出,变成各种不同的对象数据。 (4) 消息映射和传递MFC把SDK编程中对消息的产生、传递、到过程函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 DirectShow 多媒体 播放 设计 实现
限制150内