基于VC++的多媒体播放器设计与实现毕业设计论文_第1页
基于VC++的多媒体播放器设计与实现毕业设计论文_第2页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科毕业设计(论文)说明书课题名称基于 VC+勺多媒体播放器设计与实现毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的 指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和 致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不 包含我为获得_及其它教育机构的学位或学历而使用过的材料。 对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。矚慫润厲钐瘗睞枥庑赖。作者签名:日期:作者签名:日 期:指导教师签名:日期:使用授权说明本人完全了解_ 大学关于收集、保存、使用毕业设计(论文)的

2、规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学 校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览 服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不 以赢利为目的前提下,学校可以公布论文的部分或全部内容 。聞創沟燴鐺險爱氇谴净。导师签名:日期: 年 月学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取 得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何 其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献 的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法 律后果由本人承担。残

3、骛楼静锩瀨濟溆塹籟。作者签名:日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、 使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权_ 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。酽锕极額閉镇桧猪訣锥。作者签名:日 期:涉密论文按学校规疋处理。作者签名:日期:年月日注意事项1. 设计(论文)的内容包括:1)封面(按教务处制定的标准圭寸面格式制作)2)原创性声明3)中文摘要(300 字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一

4、编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1 万字(不包括图纸、程序清单等),文科类论文正文字数不少于 1.2 万字。彈贸摄尔霁毙攬砖卤庑。3. 附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4. 文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不 准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应 符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不 准用徒手画謀荞抟箧飆鐸怼类蒋薔

5、。3)毕业论文须用 A4 单面打印,论文 50 页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5. 装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订摘要随着互联网的快速发展,多媒体技术和多媒体通讯技术的逐步成熟使得信息从单一 媒体到多媒体的方向发展,人们对多媒体信息的需求量日益增加,多媒体播放器也应运 而流行起来。大多数多媒体播放器软件的功能基本大同小异,一般都可支持本地媒体文 件和网络媒体文件。功能上已经大致完善,但是也有不足之处。论文主要作了以下工作:厦礴恳蹒骈時盡继價骚。一、详细地介绍了该课题研究的

6、目的和多媒体技术发展的现状和发展趋势,介绍该课题的主要工作内容和难点所在。茕桢广鳓鯡选块网羈泪。二、对软件可行性研究初步项目计划、需求的分析,同时通过用户调查和对软件性能和功能了解制定开发流程,设定好项目的开发环境,之后逐步按流程和需求完成软件 的初步设计,对于设计实现过程中的难题,寻找可行的解决方案。鹅娅尽損鹤惨歷茏鴛賴。三、对播放器程序的概要设计,播放器系统按功能进行建立和划分模块,以及确立 模块与模块的接口,并调用好各模块和整体间连接,再者就是分析好层次结构,设计友 好的人机界面,最后再软件的详细设计以及实现主要的功能代码,列出该部分函数的代 码。籟丛妈羥为贍债蛏练淨。四、对播放器程序的

7、测试,在特定的测试环境的平台下,主要是于软件所实现的基 本功能进行了黑盒测试,通过测试发现输入还有输出的逻辑错误、以及在初始化时、因 为错误导致的程序的终止,界面的显示发生不正常,程序的性能和功能发生了不正确错 误等等。預頌圣鉉儐歲龈讶骅籴。通过使用 Windows7 操作系统对多媒体播放器的设计与实现,程序设计的开发工具 采用Microsoft Visual C+ 6.0。在程序设计中,使用了微软公司的 ActiveX 控件一Win dows Media Player(WMP)通过不断运行调试,初步实现了多媒体播放器的软件开 发的基本功能。基于 MFC 集成开发环境,使用 Windows 操

8、作系统提供的 ActiveX 实现 编程。并完成需求的功能。并实现了占用内存比较小,界面简洁明了,功能较完全,支 持多格式的视频和音频,同时具有程序健壮性强等特点。渗釤呛俨匀谔鱉调硯錦。关键词:多媒体技术,播放器,ActiveX ,MFC 多媒体,MCIAbstractWith the In ternet and the developme nt of in formatio n tech no logy, multimedia tech nology matures and multimedia com muni cati ons tech no logy makes in formatio

9、 n from a sin glemedia to multimedia directi on, in creas ing peoples dema nd for multimedia in formati on,multimedia player should be transported and popular. Most multimedia player software fun ctions substa ntially similar, gen erally can support local media files and on li ne media files. Thefun

10、ction has bee n substa ntially improved, but there are drawbacks. Paper made the followingwork:铙誅卧泻噦圣骋贶頂廡。A detailed descripti on of the curre nt situati on and developme nt trend of purpose andmultimedia tech no logy developme nt in the research, in troduces the main content擁締凤袜备訊顎 轮烂蔷。Second, prel

11、iminary feasibility study of software project planning, requirements an alysis,while develop ing the developme nt process through user surveys and un dersta nd theperforma nee and fun ctio nality of the software, set up the projects developme nt en vir onment,then gradually accordi ng to the process

12、 and requireme nts to complete the prelim inary desig nsoftware, For the design and implementation problems in the process, to find viable solutions.贓熱俣阃歲匱阊邺镓騷。Third, the player programs outli ne desig n, player system set up and divided by functionmodule, and the establishme nt of an in terface mod

13、ule and modules, and each module and theoverall good call en, additi on is good hierarchy an alysis, desig n-frien dly detailed desig n ofman-mach ine in terface, software, and fin ally achieve the mai n fun ctio n of the code坛搏乡囂忏蒌 鍥铃氈淚。Fourth, the test player program, in platform-specific test env

14、ironment, primarily in therealizati on of the basic fun cti ons of the software black box test ing were found to in put as wellas output of logic errors, and pass the test duri ng in itializati on, because term in ati on errors ofthe program, the in terface displays unu sual occurre nee, performa ne

15、e and fun cti on ality of theprogram is not correct the error occurred, and so o蜡.變黲癟報伥铉锚鈰赘。Through Win dows 7 operati ng system desig n and impleme ntati on of multimediaplayer used program ming developme nt tools using Microsoft Visual C + 6.0. I n program ming,the use of Microsofts ActiveX con tr

16、ols -Win dows Media Player (WMP), by con sta ntly runningdebugging, the initial realization of the basic functions of the multimedia player softwaredevelopment. MFC-based integrated development environment, using ActiveX Windows operating system provides for program ming. And complete fun cti onal n

17、 eeds. And to achieve thememory for relatively small, con cise in terface, features a more complete multi-format video andaudio, but also has robust procedures and other characterist買鲷鴯譖昙膚遙闫撷凄。Keywords: multimedia player, ActiveX, MFC, multimedia,MCI綾鏑鯛駕櫬鹕踪韦辚糴。2 需求分析. 6尧侧閏繭絳闕绚勵蜆贅。2.1 播放器软件基本调查 . 6识饒

18、鎂錕缢灩筧嚌俨淒。2.2 软件功能分析. 7凍鈹鋨劳臘错痫婦胫籴。2.3 软件运行环境 . 9恥諤銪灭萦欢煬鞏鹜錦。2.4 业务流程分析 . 10鯊腎鑰诎漣鉀沩懼統庫。2.5 数据流程分析 . 10硕癘鄴颃诌攆檸攜驤蔹。2.6 可行性分析. 12阌擻輳嬪諫迁择植秘騖。3 系统总体设计.3.1 概要设计.3.2 界面设计.4 详细设计.4.1 功能模块详细设计. 19嘰觐詿缧铴嗫偽純铪锩。4.1.1文件模块设计 . 22熒绐譏钲鏌觶鷹緇機库。4.1.2播放控制模块设计 . 24鶼渍螻偉阅劍鲰腎邏蘞。4.1.3播放列表模块设计 . 29纣忧蔣氳頑莶驅藥悯骛。4.1.4播放循环模块实现 . 32颖刍

19、莖峽饽亿顿裊赔泷。4.1.5音量模块实现 . 33濫驂膽閉驟羥闈詔寢賻。4.1.6定时关闭 . 34銚銻縵哜鳗鸿锓謎諏涼。4.1.7对话框初始化 . 36挤貼綬电麥结鈺贖哓类。5 软件测试 . 38赔荊紳谘侖驟辽輩袜錈。5.1 测试方案 . 38塤礙籟馐决穩賽釙冊庫。5.2 测试用例 . 38裊樣祕廬廂颤谚鍘芈蔺。根据测试过程制定两组测试用例,用例组如下表5.1 和表 5.2 所示.38仓嫗盤紲嘱珑詁鍬齊驚。5.3.1 文件功能.5.3.2 播放控制功能5.3.3 播放列表功能1 绪论.1.1 前言.1.2 背景1.3 研究目的.1.4 相关技术 .1驅踬髏彦浃绥譎饴憂锦。1猫虿驢绘燈鮒诛髅貺

20、庑。1锹籁饗迳琐筆襖鸥娅薔。3構氽頑黉碩饨荠龈话骛。3輒峄陽檉簖疖網儂號泶。13氬嚕躑竄贸恳彈濾颔澩。14釷鹆資贏車贖孙滅獅赘。17怂阐譜鯪迳導嘯畫長凉。19谚辞調担鈧谄动禪泻類。5.3 黑盒测试.39绽萬璉轆娛閬蛏鬮绾瀧。5.3.4 音量控制模块5.3.5 播放模式模块 . 45辔烨棟剛殓攬瑤丽阄应。5.3.6 定时关闭模块 . 45峴扬爛滾澗辐滠兴渙藺。结束语. 46詩叁撻訥烬忧毀厉鋨骜。致 谢. 47则鯤愜韋瘓賈晖园栋泷。参考文献. 48胀鏝彈奥秘孫戶孪钇賻。40骁顾燁鶚巯瀆蕪領鲡赙。41瑣钋濺暧惲锟缟馭篩凉。43鎦诗涇艳损楼紲鯗餳類。44栉缏歐锄棗鈕种鵑瑶锬。1随着科学技术的发展,在计

21、算机,手机普及的今天,信息传播速度越来越快,也越 来越广,多媒体作为一种将图像,声音,文本等多种媒体据为一身的存在形式,在计算 机、手机、随身听等载体中出现,成为人们在生活中获取信息来源之一。鳃躋峽祷紉诵帮废掃減。在互联网起步的年代,网络技术、计算机硬件水平较低的限制,人们获取新闻信息 主要还是以看报纸,电视,还有人与人间的交流,媒体的传播主要以方式广播电视里, DVD 播放器,当今网络技术的不断提高、迅速发展,人们能够更方便的连接互联网来 获取信息,流媒体的出现,多媒体的发展对世界的信息文化传播起到了促进作用,加快 了信息全球化的发展,同时也成为了信息化今天的一部分。稟虛嬪赈维哜妝扩踴粜。播

22、放器作为一种播放视频或音频文件的软件,把数字信号加工处理成图片声音等多 种方式,识别展现同时存在一种或者多种媒体文件,媒体作为信息的载体,存储设备作 为媒体的载体,由载体(硬盘等)播放器多媒体信息(视频音频),使得存在载体中的 媒体信息得以彰显。,大多数播放器携带解码器用来还原已经过的压缩媒体文件,同时 播放器还需要自带一组变换频率缓冲算法。陽簍埡鮭罷規呜旧岿錟。现在播放器主要为音频播放器(代表软件:天天动听,千千静听,酷狗,QQ 音乐等) 和视频播放器(代表软件:RealPlayer, KMPlayer,暴风影音,迅雷看看等)。沩氣嘮戇苌鑿鑿 槠谔應。常用多媒体的文件主要格式包括:音频格式(

23、AIFF;AAC;MP3;WA VE;WMA 等)、视 频格式(F4V;AVI;RMVB;M0V ,WMV,MKV 等)。钡嵐縣緱虜荣产涛團蔺。1.1.1设计目标设计一个能支持多种格式,包括视频格式和音频格式的的播放器,有良好的人机交 互界面,且播放功能完善,还附加其他需求的而添加的功能,支持播放列表,音量控制 等,具体的功能基本符合当今视频音频播放器的需求来设计,并在这标准上根据自己的 需要做一下修改。懨俠劑鈍触乐鹇烬觶騮。1.2背景媒体是作为信息载体的一种形式,在计算机中,它有两种含义:1.作为传播信息的载体,有包括文字、图片、声音、语言、视频、音频等。2.作为存储信息的载体,比如RO(只

24、读存储器)、RAM(内存)、磁盘等储存设备。媒体作为信息的载体,它接收各 式的1.1刖1绪论2数据信息,女口图像,声音,文字等,再经过了计算机处理以及加工之后, 以文字形式、 声音形式、图片形式、动画形式等多种形式彰显,实现 输入/输出(I/O)方式的多元化, 同时改变了旧时计算机只能接受输入输出文字信息、数据信息的局限性。通常我们将媒体分为了五大类:謾饱兗争詣繚鮐癞别濾。1、感觉媒体:能够直接作用于人的感官,使人产生感觉的媒体,如声音、图像、 动画、文字等。2、表示媒体:为传输感觉而创造出来的中间手段,能够使感觉有效地从一处传递 到另一处。3、表现媒体:用在感觉媒体和信息传输中电信号之间转换

25、所用的媒体,大致是指信息输入、输出的工具设备。包括输入媒体(例如:鼠标、摄像机、键盘以及麦克风等) 和输出媒体(例如:屏幕、纸和喇叭等)。呙铉們欤谦鸪饺竞荡赚。4、 存储媒体:以存储表示媒体的载体。5、 传输媒体:用来将表示媒体从某一处传输到另一处的物理实体。用来进行网络传输的通讯介质(例如:有线方式有同轴电缆、光纤以及双绞线等,而无线方式则有 wifi、 蓝牙和红外线等)。莹谐龌蕲賞组靄绉嚴减。多媒体作为近几年出现的新生事物, 是融合两种或者多种媒体的形式, 我们称之为 多媒体,这种混合形式的信息载体,在当今的地位显得越来越重要,在人们去信息需求 量大的今天,多媒体举足轻重,相信在不久的一段

26、时间中,多媒体会朝着更好的方向快 速的发展,如全息投影(虚拟成像技术),都开始新的技术革命。人接受信息主要通过: 视觉、听觉、嗅觉、触觉、味觉。也就是说明人有五种接受信息的方式,文字信息只能 靠视觉获取,声音靠听觉,同理气味靠嗅觉和味觉,压力和温度靠触觉。其中90%勺信息来自视觉,想象一下。光是看一段动画就类似感觉到了 90%勺信息,此时再加上声音, 温度,压力,气味的结合,那就是身临其境了吗?麸肃鹏镟轿騍镣缚縟糶。多媒体技术(Multimedia Technology) 是一种将计算机中图像方面、文字方面和声 音方面等各式各样的信息融合一体,形成了计算机和用户之间人机交互作用的技术。多 媒体

27、技术涉及的是计算机的相关的对象的产物只属于计算机领域的技术,所以说电视, 广播等均不属多媒体技术的范围。2納畴鳗吶鄖禎銣腻鰲锬。多媒体技术的特点:1. 集成性和多样性。多媒体融合了多种单一媒体聚于一身,经过对在计算机媒中以 数字信息化处理和加工形成一人具有多种属性的新形式,能更好的传达和承载信息。具 有媒体无法具有的优势。風撵鲔貓铁频钙蓟纠庙。2.数字化。多媒体以数字形式存在。3.人机交互性。人机交互就是多媒体的一大特点。它形成了人与计算机、人与计算 机及计算机间的交互,交互使人感觉身临其境、置身其中,更有利用户使用和控制信息手段。灭暧骇諗鋅猎輛觏馊藹。4.实时性。画面和声音(信息)等能随时间

28、而动态的变化31.3 研究目的近年随着来计算机产业和科学技术的发展,硬件的成本不断减少,传输瓶颈不断的 突破,个人计算机性能的提高应用越来越普及。突破硬件条件的限制,对图像,视频等 更高层次的支持,在计算机存储容量,存储媒体的信息容量扩大,网络飞跃式的发展,网络传输提高速度上,传输媒体显得更方便快捷,媒体交互变得更容易,使得多媒体应 用更加的广泛,在新闻、广告、教育、娱乐、科研领域应用,并且得到很好的利用,于 是我萌生尝试制作一个基于 VC+多媒体播放器,虽然网上已经有了许多功能强大,界面 优美,且算法精良的播放器,但大多数软件都以商业利益为主,内嵌广告,以展现多媒 体的工具来传播信息,并通过

29、广告应用多媒体技术到商业领域,也是值得学习借鉴的。 我想可以通过设计和实现的过程学习和应用多媒体技术。铹鸝饷飾镡閌赀诨癱骝。首先播放器要具有基本的播放控制的功能,且对大多数视频文件(avi , Wmvmpeg等)、音频文件(wav ,cd ,aif ,mp3 等)格式的支持,功能有打开、播放、快进、 快退、暂停、停止,有播放列表以及列表管理,进度条,音量控制,单曲循环,列表循 环,随机播放等循环功能,以按键操控、快捷键操控和鼠标操控为主,播放器的界面以 整齐、简洁明了的风格布局,开发使用的操作系统为WIN7 旗舰版,测试使用的操作系统 WIN 7 旗舰版,软件支持系统 WIN 8/WIN 7/

30、WIN XP,开发工具为 VC+ 6.0,使用微 软的微软基础类库(MFC 编程,通过 Windows Media Playd 的控件以及 MCI 接口,开发 效率也是比较高,精心去设计程序,我们可以完成一个相对不错的播放器。对多种格式 的兼容以及支持,内存占用率比较低,适合配置低的或者是要求不高的用户,国内大部 分攙閿频嵘陣澇諗谴隴泸。1.4 相关技术C+语言(The C+ Programming Language)1983 年,在内尔实验室在 C 语言的基础上推出了 C+, 开始曾被称为 new C,之 后又叫 Cwith Class,最后得名于 C 语言的” +”操作符,表示源自 C 语

31、言的自然演变。趕輾雏纨颗锊讨跃满賺。C+是一种面向对象的编程语言,作为一种通用的编程语言,得到了广泛的应用, C+具有多种编程范式:面向对象编程、过程化编程以及泛型编程。作为C 语言扩展,保留了 C 语言的大部分语法,在它的基础上引入了对象的模型,同样设计C 语言考虑的是实现对过程事物的控制,而 C+这是思考如何构建对象模型。C+寸 C 语言的扩展主要 表现在 1.类型检查更加严格 2.增加标准模版库(STL)3.C+增添了面向对象 4.C+还增 添了对运算符的重载 5.C+增添泛型编程(Template.增添了异常处理。然而 C 语言和C+最大区别不是在于解决问题的方法,主要是解决问题的思想

32、的方法不同。4夹覡闾辁駁档驀迁锬減。C+啲语言特点:1.语言灵活,能高效的执行,具有高级语言的优点, C+可以直接 访问4物理地址。2.无需复杂的程序设计环境,多种平台支持 C+ 3.C+静态类型同 C 语言一样具有高效且可移植性。4.面向对象语言,且有很多优秀的程序框架如 MFCQT 0W 等。C+具体开发过程如图 1.1 所示视絀镘鸸鲚鐘脑钧欖粝。编辑源程序编辑源程序编译连接连接运行运行图 1.1 开发 C+编程步骤MFC 微软基础类(Microsoft Foundation Classes )MFC(微软基础类)是一种应用程序框架,随着 VC+开发工具发布,由一个 CWinApp 类对象

33、和 MFC 派生类组成,可以看成为封装了的 Win32,该类库提供可复用的类库,微软 提供开发人员使用, MFC 乍为 VC+的部分, 提供 C+在 windows 平台下的程序开发的 效率和便利,MFC 乍为 Win API (微软提供的 Win dows 应用程序编程接口)和 C+的结合,允许第三方编程语言进行在Windows 操作系统下应用程序的开发,操作系统提供的API供发开人员使用,而系统内部的实现,你可以不需知晓,可以说MFC 是微软 API 在 C+中的封装。其关键技术在消息映射和消息传递的消息处理机制,在SDK 中没有消息映射的概念,消息响应传递回调函数,然后判断消息类型,再接

34、着处理。其中MFC 中重要的几个类:I.CWnd 作为大多数“窗口”的父类,如 CButton(按钮)、CFrameWnd 框架窗 口) 、5CDialog(对话框)等。2.CDialog 对话框类。3.CDC 全名设备文本,与 GDI(图形 设备接口)一起负责文字图像显示的工作,通过对屏幕的像素点进行绘图。4.CDocumen, 文档类主要负责读取和写盘,处理内存和磁盘的交互的。5.CWinApp 应用程序类,MFC程序的主函数,程序编译执行的入口和出口,其中InitIn sta nee()函数负责初始化窗体。偽澀锟攢鴛擋緬铹鈞錠。ActiveXActiveX 控件或称 OCX 空件,作为组

35、件嵌入软件或者网页中,特点有快速开发,支 持多语言的编程,在 COMA 件作为基础建立的 ActiveX,为开发人员提供了一个开放集成 的平台,在 WEB 网页和应用程序中应用广泛.緦徑铫膾龋轿级镗挢廟。62需求分析2.1 播放器软件基本调查多媒体播放器的基本情况就是能对多种媒体格式的视频音频进行数字信号存储的 播放。在网络上已经有了许多流行且优秀的播放器,我们可以先去其概况和功能进行了 解然后制定软件 需 求。騅憑钶銘侥张礫阵轸蔼。由腾讯公司开发制作的一款支持本地媒体文件本地播放器,能支持多种格式的视音频,第一个创立轻量级多播放的内核技术,作为一款“纯净”的多媒体播放器,没有任 何植入广告,

36、也没有强制安装其他软件,且支持的格式多,深受好评。界面:新版的 QQ 影音的界面比旧版更为多彩,但还是一如既往的简洁,同时还提供换肤的功能,不是仅 仅是把界面的背景做更改,而是把整体的布局和窗口的样式以及颜色风格都做了改动。 功能界面有进度条、播放控制按钮、隐藏和显示播放列表。疠骐錾农剎貯狱颢幗騮。播放控制功能:播放、暂停、停止、上一曲、下一曲、调整进度。播放列表功能:添加文件夹、添加文件、删除选中项、选中播放,打开自动保存列 表列表排序。播放循环功能:单一播放,顺序播放,无序播放,单一循环播放,以及列表循环播放。对一个本地播放器来说,暴风影音功能算是较为强大的了。但是根据时代的发展, 现在主

37、流的播放器都是据有网络播放和本地播放两种功能。有服务器支持的播放器可以直接在播放器中搜索视频,代表暴风影音。镞锊过润启婭澗骆讕濾。作为本地播放器拥有播放器的功能,良好的人机交互界面,已经流畅的解码同时也 作为网络播放器,能在线检索资源,在线播放和缓存媒体资源的软件。功能强大,深受 广大用户的喜爱。还具有转换格式可以对当前格式进行转换,同时可以对播放文件进行 片段的截取,可以把某块片段截取下来保存,还有对视频截图,对当前画面的保存成位 图。榿贰轲誊壟该槛鲻垲赛。72.2 软件功能分析多媒体播放器通过初步的对用户群体调查我了解到作为用户他的需求重点主要在 如下几个方面:1要求功能齐全,兼容性强。2

38、. 程序必须具有比较迅速的响应速度。3.程序要求占的系统资源比较少,同时不存在二级或二级以上的BUG。4. 具有美观友好的人机交互的界面。还经过了对 QQ 影音、暴风影音等几款多媒体播放器分了解,分析制定了多媒体播 放器的基础需求分析如下:1实现播放控制功能,播放控制包括播放、暂停、停止以及上一曲和下一曲等基本的 播放器控制功能,提供用户进行操作,当播放音乐时播放界面就显示波形动画,还有添 加全屏播放的功能,让用户得到更好的体验。邁茑赚陉宾呗擷鹪讼凑。2实现进度的控制,进度控制包括播放进度条、快进和快退,方便用户了解观看进度 已经对播放进度的控制和改变。每次快进或快退,播放进度前进或者退后百分

39、之一,若 是播放进度的百分之一小于五秒则每次快进或者退后5 秒。嵝硖贪塒廩袞悯倉華糲。3实现音量控制,上调或下调滑条来控制音量的增加或者减少,音量的变化不影响 操作系统的音量,可以通过勾选音量按钮来开关音量。该栎谖碼戆沖巋鳧薩锭。4实现播放列表以及列表的管理,设计一个按钮能让播放列表显示和隐藏,在列表 中显示媒体文件的信息,如文件名、文件格式、播放时长、所在硬盘的位置,能在列表 里添加文件、移除选中的文件、双击播放选中的文件、清空列表、保存列表、还有调整 文件所在列表的位置,导入列表和导出列表。劇妆诨貰攖苹埘呂仑庙。5实现支持多种格式音频(MP3、WMA 等)、视频格式(AVI、WMV 等)的

40、打开。6实现菜单栏,将所以控制功能都对应实现在菜单栏中,设置快捷键的绑定,以方 便用户使用对应的功能和操作,有利于建立良好的人机交互的界面。臠龍讹驄桠业變墊罗蘄。7. 界面简洁整齐,让用户一目了然。88. 实现播放循环模式,循环模式包括单一播放,顺序播放,无序播放,单一循环播放,以及列表循环播放9实现程序托盘,让程序可以化为最小化图标在后台运行,在播放音乐时,可以给 用户更好的享受。10 定时关闭功能,该功能主要面向音频方面的需求设计的作为音频播放器时,或许睡觉看书时可以听歌,为用户设计计关机和关闭程序的功能。鰻順褛悦漚縫輾屜鸭骞。11. 截图功能,此功能面向视频方面的需求,对于用户在观看影片

41、时遇到的精彩画面 可以及时的截取下来保存。12. 提供用户换肤的功能,用户可以自定义部分界面,让其自己可以根据自己的喜好 制定界面风格。具体功能用例图见图 2.1 所示。9多媒体播放器系统计划关闭屏幕截图捲放暂停操作播放状态停止全屏快进进度条控制播放进度快退音量条打开文件上一个导入列表循环模式使用镭放列表清空列表添加移绘导出列表调节増放音量使用其他功能用户图 2.1 多媒体播放器用例图2.3 软件运行环境操作系统: Windows 2000/Windows XP/Windows Vista/Windows 7穡釓虚绺滟鳗絲懷紆泺。102.4 业务流程分析首先开始程序,先是打开一个文件,有两种打

42、开方式,一、从列表里添加文件或者 导入列表打开,二、直接打开文件,如果文件是符合兼容的类型,然后开始播放,否则 视为打开失败,播放过程中有一些的供用户使用的操作,列表打开可以使用列表的循环 模式,用户可以对列表进行一系列的操作。最后是退出,用户使用完毕结束程序。详解 见图 2.2 所示.隶誆荧鉴獫纲鴣攣駘賽。2.5 数据流程分析根据播放控制模块的数据流程分析,首先获取媒体文件的信息,通过WM 的解码器进行媒体文件的数据解码,解码成数据信息流,其中包括了声音信息流和图片信息流, 声音数据流通过系统进行声音合成,声卡接受到数据流处理并输出。图像数据流通过图11像编码,再进行显示控制的选项,显卡获取

43、数据流,处理并输出。关于系统的数据流图 见图 2.3和图 2.4 所示.浹繢腻叢着駕骠構砀湊。图 2.4 多媒体播放器系统 0 层图播放列表模块中通过打开文件添加到播放列表中或者是通过列表添加功能添加文 件,列表中以表格的形式分别文件名,文件的格式,文件播放的时长,文件路径。一目 了然的显示媒体相关信息。鈀燭罚櫝箋礱颼畢韫粝。基于时间戳的播放过程中(详解见图 2.5 )仅仅对早到的或晚到的数据块进行等待 或快速处理,往往是不够的 如果想要更加主动并且有效地调节播放性能,就需要引入 反馈机制,也就是通过对比音视频的时间戳将当前数据流的播放状态反馈给上层的“源”12如果音频流滞后,就即时通知音频解

44、码器加快音频流输出,但是如果滞后太多,则直接 将当前数据丢弃,直接跳到下一帧;如果视频流滞后,就通知音频解码器减慢音频输出13速度等待视频流,如滞后太多也直接进行跳帧数据流首先通过分离器分解为视频数据流和音频数据流,然后经过对应的解码器,同时由本地系统时钟来进行时间戳控制;获 得准确显示或回放时间以后进行时间戳比较;若同步则直接输出,不同步则进行音频跳 帧或等待,直到同步后输出。惬執缉蘿绅颀阳灣愴鍵。图 2.5 视频音频同步数据流程142.6 可行性分析开发工具:Visual Studio 2013 和 VC+ 6.0开发语言:C+采用的是 Visual C+是 Windows 操作系统上常见

45、的 C+开发工具,是 Microsoft 公司推出的目前使用极为广泛的基于Windows 平台的 C+的可视化的开发环境。Visual C+ 6.0 编译器负责将 C+源代码编译成汇编文件,转变为中间文件,然后使用 连接器将相关的中间文件连接起来,生成可执行的二进制文件。Visual C+6.0 不仅是一个 C+编译器,而且是一 个基于 Windows 操作系统的 可视化集成 开发环境(integrated development environment,IDE。Visual C+6.0 许多组件组成,包括编辑器、 调试器以及程序向导 AppWizard、类向导 Class Wizard 等开

46、发工具。这些组件通过一个 名为Developer Studio 的组件集成为和谐的开发环境。使用 VC+ 6.0 编译工具的 MFC 完成对多媒体播放器的制作,在过去,计算机程序的目标是短小使得运行速度快的代码, 当今计算机的性能更好,价格更大众,程序开发主要的经费从以前以硬件为主转到了以程 序维护、开发为主,所以当今程序设计的第一要务、目标是以可移植性,以维护性还有可 读性,做出一个播放器的途径具有多种方式,但是因为主观的原因开发语言和开发环境 的限制,只能在这个基础上分析其他能够达成目的的方法,根据查阅资料,目前根据需 求能实现的有:贞廈给鏌綞牵鎮獵鎦龐。1.用 MFC 里面提供的 Act

47、iveX 控件,在选择 Windows Media Player 组件,使用 WMP 组件提供的类,对类的使用和操作来完成对多媒体播放器的设计以及实现,可以快速的 完成一个功能强大,且兼容性和界面友好的多媒体播放器,在实际的项目的改方案会减 少大量的成本,有较好的开发效率。嚌鳍级厨胀鑲铟礦毁蕲。2.使用系统自带多媒体接口 一一 MCI(多媒体应用编程接口 ),能在比组件更高的层次上控制媒体设备,操作较为繁琐,却能完成各种功能。薊镔竖牍熒浹醬籬铃騫。综上所述两个条件分析,从开发效率上看的话, ActiveX 控件的相对更高一些,可 以在组件提供的类对象上进行对多媒体播放器的各种功能的。且对 Ac

48、tiveX 的可读性更 好一些,在组件限制的方面我们采用 MCI 编程,使用 MCI 强大的对系统多媒体接口的 操控,从而开发出一个完善的播放程序。齡践砚语蜗铸转絹攤濼。153系统总体设计163.1 概要设计播放器系系统的设计:打开播放器,播放器程序首先进行对话框信息的初始化,初 始化的过程中初始化播放列表的信息,然后进行播放、暂停等等的播放控制,修改播放 器列表,记得当前播放状态信息,程序结束。根据流程图3.1 所示播放系统流程图绅薮疮颧訝标販繯轅赛。图 3.1 播放流程图程序的应用初始化信息有窗口的类型,系统函数的,对话框的框架,文档类等,对程序 的各模块进行初始化,以及播放器界面的初始化

49、,然后让程序运行加载。加载列表之前 所保存的文件信息,显示预留提供操作,之后可以执行相关播放停止等控制操作,也可 以把程序最小化托盘,在后台运行,需要时调出来使用,程序结束前可以进行播放器配 置和播放信息的保存,以供下次打开程序加载使用。根据功能划分为六大模块,详情见 图 3.2 所示 .饪箩狞屬诺釙诬苧径凛。17打开 media player, media players 先进行初始化,在打开文件后进行播放列表的加载, 接下来可以进行列表播放,列表数据的导入导出,列表的条目的排序和选项的上下挪动 顺序,选中的选项移除和清空表格功能,见表下3.1 所示。烴毙潜籬賢擔視蠶贲粵。表 3.1 播放列

50、表模块功能设计播放列表模块播放列表的导入/导出选中项的上/下移动清空列表或移除选中项双击选中项来进行播放。导入或导出列表信息到二进制文本。鼠标拖动或按键帮助移动改变选中项位置。点击按键完成清空或选中再点击功能按键。播放模式模块有五种选择模式,当前只能存在一种模式五选一,菜单栏中的播放模式按 键互相排除的单项选则。还有有一个全屏播放模式。见下表3.2 所示。鋝岂涛軌跃轮莳講嫗键。表 3.2 播放模式模块功能设计18播放模式模块单个播放和循环播放顺序播放和循环播放当前文件播放,或者连续的循环播放改文件。按顺序播放当前列表里的文件,播放完就停止。循环当前播放。随机播放全屏在当前中随机的选择下个播放的

51、文件。全屏播放播放控制模块包括对播放状态的控制以及播放进度的控制。见表3.3 所示。表 3.3 播放控制模块功能设计播放控制模块播放状态控制包括暂停,播放,停止的播放状态进行选择,单击相应按键实现播放状态的切换,在没有打开文件和播放列表为空的情况下,按键点击无效。通过上一个以及下一个进行列表中文件上 下的切换,当前文件若是在列表中的最后一个文件,下一个时则切到列表最上方的文件。播放进度控制包括快进,进度条,快退。单击快进前进总进度的百分之一,快退则是倒退总进 度的百分之一。进度条不仅仅用来显示当前的进度概况,通过拖动改变进度。F 面是音量控制模块。见表 3.4 所示。表 3.4 音量控制模块功

52、能设计音量控制模块音量的增减,静音设置有开启和关闭总音量的开关,关闭就是静音,通过改变进度条调整增加或者减少音量大小。媒体文件模块。见表 3.5 所示。表 3.5 文件模块功能设计文件模块文件打开并且播放媒体文件,对于无法兼容的文件不给供打开功能。最后一个模块是计划关闭模块,主要是设置定时然后完成相应的关闭操作。主要适用于 播放音乐文件的时候。详细见表 3.6 。撷伪氢鱧轍幕聹諛詼庞。表 3.6 定时关闭19定时关闭设置定时可以设置定时,设置规格最大为一天,最小为一分钟。定时操作定时时间到了之后执行的操作,关机或者关闭程序。倒计时显示和后台显示倒计时,开启之后可以后台,也可以停止定时计划。3.

53、2 界面设计打开 VC+ 6.0 New Poject MFC AppWizard ( EXE )界面选择对话框模式, 然后在对主对话框右键选择右键菜单中Insert ActiveX Controls ,向下翻找到 WindowsMedia Player 的组件对该组件右键属性对组件属性进行修改,ID 设置为 IDC_0CX,1 在常规一栏下的控件布局选项中,把布局设置成 None,这样播放插件就只提供显示功能而 没有其他的功能。踪飯梦掺钓貞绫賁发蘄。我们把功能按钮先布局好图 3.3 主界面所示,对应播放控制使用编组框圈起来内十 字排列分成上一个,暂停,播放,停止,下一个。播放模式使用下拉列表

54、选择播放的模式, 音量设置单选按钮和滑动条,通过勾选单选键来开启或者关闭音量,通过滚动滑动条调 节音量大小。播放进度用法滑动条和静态文本来实现,左边的文本是当前的播放时间,右边的文本是该媒体文件的最大时长,中间放有滑动条,根据时间的推移,滑条跟着向 右滑动,直到媒体文件播放完毕,滑条也划到底部。 在滑条右下方做了一个快进和快退 的旋转按钮, 按左边的箭头的功能是快退,每次快退总进度的百分分一,按右边的箭头 的功能是快进,每次按动前进总进度的百分之一,同时拖动进度条也有调节播放进度的 功能。右边一整块是用列表控件做的播放列表,把风格里的视图设置为“报告”,在列 表下面添加 5 个管理列表的按钮,

55、打开,添加,移除,清空,退出。婭鑠机职錮夾簣軒蚀骞。表 3.6 定时关闭20图 3.3 播放器主界面21整体来看这个播放器界面已经比较完善了,就差把对应的功能实现了。所以我们所 设计的界面基本如一下图 3.4 所展示的那样子,以简洁为主要风格,功能按钮排布整齐, 虽然于其他优秀的播放器的界面相比差之甚远,但是在MFC 的界面算较好者。譽諶掺铒锭试监鄺儕泻。图 3.4 添加菜单栏后的播放器主界面224详细设计4.1功能模块详细设计打开播放器后,播放器先初始化,然后打开文件,打开的文件加入了播放列表,播 放列表显示了媒体文件的相关信息,然后进行播放,导入和导出文件列表和一些对应的 列表管理的操作,

56、清理和移动列表中文件,之后可以选择列表播放的模式,模式主要有 五种,也可以进行播放状态的控制,调整播放进度,改变音量的大小,切换当前播放的 内容等,具体见图 4.1 所示。俦聹执償閏号燴鈿膽賾。图 4.1 系统顺序流程图根据模块的划分,按文件、播放控制、播放列表、播放模式、音量的模块顺序逐步 完成功能。在此之前先做一个菜单栏,在Resource view 资源视图对当前资源文件右键插入 Menu 菜单栏,对对话框右键属性绑定 IDR_MENU,或者是 CMyMediaPlayerDIg 的初始化函数中添加缜電怅淺靓蠐浅錒鵬凜。对菜单栏创建按钮如下表 4.1 所示23表 4.1 Menu 按键信

57、息表按键 ID名称热键快捷键媒体文件(&F)ID_FILE_OPEN打开(&O)tCtrl+OID_EXIT退出(&W)tCtrl+W播放控制(&C)ID_MENU_PLAY播放(&P)tCtrl+F1ID_MENU_PAUSE暂停(&A)tCtrl+F2ID_MENU_STOP停止(& T)tCtrl+F3ID_MENU_LAST上一个tCtrl+Alt+ ID_MENU_NEXT下一个tCtrl+Alt+T列表管理(&L)ID_MENU_ADD添加(&A)ID_MENU_DELETE删除(&D)ID_MENU_

58、CLEARN清空(&C)播放模式(&M)ID_MENU_SINGLE单个播放(&S)tAlt+F1ID_MENU_ORDER顺序播放(&O)tAlt+F2ID_MENU_LOOP循环播放(&L)tAlt+F3ID_MENU_RANDOM随机播放(&R)tAlt+F4ID_MENU_SLELOOP单一循环(&E)tAlt+F5关于(&H)ID_MENU_ABOUTAbout My Media Player完成图 4.2 的设置后,需要在资源视图里右键插入一个Accelerator,在里面添加对应菜单栏按键的 ID 和快捷键信息进行绑

59、定。骥擯帜褸饜兗椏長绛粤。IDKeyTyID FILEOPENCtrl + 0VIRTKEYIDMENUPLAYCtrl + VKFlVIRTKEYID_MENU_SINGLEAlt + VK_?1VIRTKEYID_MENU_PAUSECtrl + VKF2VIRTKEYID_MENU_ORDERAlt + VK. F2VIRTKEYID_MENU_STOPClrl + VK_F3VIRTKEYID_MENU_LOOPAlt + VK_F3VIRTKEYID_MENU_RANDOMAlt + VKF4VIRTKEYIDMENUSLELOOPAlt + VK_F5VIRTKEYID_MENU_

60、LASTCtrl + AH + VK_LEFTVIRTKEYID_MENU_NEXTCtrl + Alt + VK RIGHTVIRTKEY24ID_EXITCtrl + WVIRTKEY图 4.2 IDR_ACCELERATOR最后一步是对按键做消息映射,详细如图4.3 的显示的样子在 CMyMediaPlayer 的BEGIN_MESSAGE_MAP()和 END_MESSAGE_MAP()之间的代码行中添加我们形式女口ON_COMMAND(ID_FILE_OPEN, On Ope n)第一个是按键 ID 第二个为相应的功能函数, 这个是打开文件的消息响应。具体癱噴导閽骋艳捣靨骢鍵。/| 0N_C0HMfiHD ( I D_FI LE_0卩EH, On Open)/0NCOHMAND(ID_EXIT70nExit)/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论