vc多媒体播放器5577.docx
《vc多媒体播放器5577.docx》由会员分享,可在线阅读,更多相关《vc多媒体播放器5577.docx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、武汉理工大学专业课程设计3(面向对象程序设计)课程设计说明书目录1.基本本功能描描述12.设计计思路113.软件件设计333.1设设计步骤骤33.2界界面设计计63.3关关键功能能的实现现94结论与与心得体体会1665参考文文献1776思考题题177附录1187.1调调试报告告187.2测测试结果果207.3关关键源代代码21135多媒体播播放器1. 基本功能能描述多媒体播播放软件件现在几几乎成为为每一台台家用计计算机的的装机必必备软件件,比较较流行的的有迅雷雷播放器器、WiindoowsMMediiaPllayeer以及及金山影影霸等等等,通过过这些软软件能够够播放RRM、RMVVB、MP3
2、、MPEEG、DATT等多种种格式的的多媒体体文件。这这些商业业软件在在功能上上已经做做的相当当完备,也也符合大大多数普普通消费费者的的的胃口,但但很多人人电脑里里总是安安装了多多种播放放器,因因为不同同的播放放器有不不同的特特点,不不是每个个人都执执著于用用一款播播放器,所所以设计计一款符符合自己己使用习习惯的播播放器是是很有可可行性的的。使用VCC+66.0强强大的MMFC、ApppWizzardd、ClaassWWizaard和和其中的的多种控控件可以以很方便便地建立立各种应应用程序序。同时时想要实实现更高高级更复复杂的功功能,也也可以借借助AcctivveX控控件资源源,用这这些现有有
3、的控件件资源,可可以省去去自己编编程的复复杂过程程,从而而实现更更高级的的功能。本本次课程程设计要要使用VVC+6.00自带的的一个AActiiveXX控件WiindoowsMMediiaPllayeer控件件,建立立自己的的多媒体体播放器器。此多媒体体播放器器具有打打开文件件、播放放、暂停停、全屏屏、音量量调节、快快进、快快退等基基本播放放功能,并并且可以以播放:*.mpp3,*.wmma,*.mddi,*.waav,*avii,*datt等格式式的音频频视频文文件。同同时还具具有自制制的可隐隐藏的播播放列表表,并且且可以在在播放模模式中选选择顺序序播放、随随机播放放、单曲曲循环三三种方式式
4、随机即即模式放放器具有有打开文文件、播播放、暂暂停、关关闭,就就是每个个人都执执著与111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111。同时时,我也也添加了了保存列列表的功功能,当当下一次次打开时时能保留留上一次次保存的的播放列列表,当当然也添添加了删删除列表表和删除除当前的的功能,更更具人性性化。2. 设计思路路根据各个个按钮控控件功能能以及WWinddowssMeddiaPPlayyer控控件的特特点,首首先要在在头文件件中将CCWMPPConntr
5、ool,CWMMPSeettiingss等类的的对象的的绑定以以及定义义,在后后面的程程序中需需要调用用这些类类的成员员函数。对于打开开文件按按钮,需需要调用用通用文文件对话话框类,并并利用llisttboxx中的AdddSttrinng函数数把选中中的文件件添加到到播放列列表中,在在MFCC学习中中有涉及及。对于于一些基基本的功功能的实实现,如如播放、暂暂停、全全屏、音音量增大大、音量量减小、静静音、快快进、快快退等功功能,主主要调用用CWMMPCoontrrol和和CWMMPPllayeer类中中的成员员函数来来进行实实现。对于播放放列表,这这次设计计使用了了SettWinndowwPos
6、s函数来来改变一一个子窗窗口弹出出的尺寸寸和方向向,并一一些相关关的函数数实现了了保存列列表、删删除列表表、删除除当前的的功能。对对应播放放列表,我我还添加加了播放放模式选选择的功功能,提提供了顺顺序播放放、随即即播放、单单曲循环环三种选选择。这这当中运运用的oontiimerr函数和和setttimmer函函数来控控制播放放模式。参照以上的设计开始初始化打开?设置文件类型过滤添加到播放列表YN读取保存的播放列表播放播放控制播放模式退出?N退出Y思想,流程图如图1所示:图1 流流程图3.软件件设计3.1设设计步骤骤首先,打打开MiicroosofftViisuaalSttudiio6.0软件件
7、,新建建一个工工程如图图2所示,以以ZhuuanggWennfenng为工工程名,然然后将此此工程定定义为基基于对话话框的MMFC应应用程序序如图33所示,点点击完成成就成功功建立了了一个基基于对话话框的工工程。图2 工工程建立立图3基于于对话框框的MFFC程序序在建立好好工程之之后,首首先是WWinddowssMeddiaPPlayyer控控件的添添加:建建立空白白对话框框之后,在在对话框框的空白白处单击击鼠标右右键,选选择InnserrtAcctivveXCConttroll菜单项项。选择择WinndowwsMeediaaPlaayerr控件,如如图4所示。加加入控件件后,此此时该控控件与
8、该该对话框框并没有有联系,需需要对其其进行变变量的关关联。图4 WWinddowssMeddiaPPlayyer控控件的添添加添加完该该控件之之后可以以发现,该该控件与与右边控控件工具具栏添加加的控件件的形式式与功能能完全不不同,是是一种更更为高级级的控件件,将该该控件名名改为IIDC_plaayerr,如图图5所示。图5 WWinddowssMeddiaPPlayyer控控件虽然已已已经添加加了该控控件,但但是可以以发现,改改控件没没有与工工程中的的对话框框发生任任何联系系,所以以需要对对其进行行变量的的关联,所所属类为为ZhuuanggWennfenng类,变变量类型型为CWWPPllay
9、eer4如图6所示。图6 关关联变量量关联变量量之后,才才算是真真正的添添加完了了该控件件,可以以发现在在关联变变量之后后,控件件工具栏栏多了WWinddowssMeddiaPPlayyer控控件的选选项,并并且在SSourrceFFilees中增增加了117个类类,相应应的头文文件也增增加了117个,如如图7所示。图7 添添加控件件后的变变化其中最主主要的类类为Cwwmppplayyer44,Cwmmpcoontrrolss,Cwmmpmeediaa,Cwmmppllayllistt,Cwmmpseettiingss五大类类。Cwwmppplayyer44类主要要是关于于对其他他类的对对象的
10、调调用以及及基本的的控件功功能的实实现,提提供了与与WinndowwsMeediaaPlaayerr控件进进行交互互的基本本方法,其其中部分分成员函函数还能能够进一一步获取取得到其其他相关关类对象象的实例例;Cwwmpcconttrolls类主主要是对对控件的的更多的的操作;Cwmmpmeediaa类主要要是对于于媒体文文件资源源的一些些操作;Cwmmppllayllistt类主要要是关于于播放列列表的操操作;CCwmppsetttinngs类类主要是是对于媒媒体文件件中的一一些基本本设置的的操作。对于该控控件的添添加以及及内部函函数的理理解需要要较多时时间熟悉悉,添加加完此关关键控件件之后,
11、进进行界面面的设计计。3.2界界面设计计首先是打打开按钮钮,用于于媒体文文件的打打开。然然后依次次是,播播放、暂暂停、全全屏、快快进、快快退、音音量增大大、音量量减小、静静音、播播放停止止、退出出等按钮钮。对其其进行变变量的关关联,以以及IDD的修改改,修改改结果如如表1、表2所示:表1 控控件IDD以及关关联变量量控件Caaptiion按钮IDD关联变量量类型关联变量量名称WMPllayeerIDC_plaayerrCWMPPlayyer44m_ZhhuanngWeenfeeng表2 控控件IDD以及对对应响应应函数控件Caaptiion按钮IDD消息响应应函数打开IDC_opeenOnop
12、pen播放IDC_plaayOnpllay暂停IDC_pauuseOnpaausee全屏IDC_fulllscrreennOnfuullscrreenn播放列表表IDC_lisstOnliist列表框IDC_LISST1OnDbblcllkLiist11快进IDC_fasstfoorwaardOnfaastfforwwardd快退IDC_fasstreeverrseOnfaastrreveersee+(音量量增加)IDC_adddvollOnadddvool-(音量量减小)IDC_deccvollOndeecvool静音IDC_mutteOnmuute表2 控控件IDD以及对对应响应应函数控件
13、Caaptiion按钮IDD消息响应应函数停止IDC_stoopOnsttop保存列表表IDC_savveOnsaave删除列表表IDC_delllisstOndeelliist删除当前前IDC_delllisstcuurOndeelliistccur退出IDC_exiitOnexxit关于IDC_abooutOnabboutt以上为有有对应控控件的对对象的关关联,除除了有对对应控件件的,还还需要有有WinndowwsMeediaaPlaayerr控件所所生成的的17个类类中的几几个重要要的类进进行对象象的定义义,而可可知,对对于成员员对象的的定义和和成员函函数的声声明都放放在头文文件中,此此
14、次设计计共主要要用到其其中3个类,因因为设计计了一个个退出提提醒弹出出框,所所以也要要对其定定义,具具体如表表3所示:表3 其其他类及及对应对对象类名对象名类名对象名CWMPPConntroolsm_CoontrrolCStrringgm_PaathNNameeCWMPPSetttinngsm_SeettiingChecckCCheeck除了对各各个控件件关联变变量以及及消息响响应函数数,还要要对对话话框类进进行消息息响应函函数的关关联,因因为此次次设计中中添加了了播放模模式选择择的功能能,所以以需要用用到WMM_TIMMER消消息响应应函数以以及SeetTiimerr()和OnTTimeer
15、()函数来来实现这这项功能能,将对对话框类类进行该该消息响响应函数数的关联联并书写写程序。添添加方法法如图88所示。图8 添添加WMM_TIMMER消消息响应应函数最终得到到各个空空间分布布后的界界面如图图9所示。图9 多多媒体播播放器界界面除了以上上主对话话框外,我我还对AABOUUTBOOX进行行了重新新设计,也也自制了了一个CChecck对话话框,其其中ABBOUTTBOXX如图100所示。CChecck对话话框是在在用户点点击退出出按钮自自动弹出出的提醒醒窗口,主主要用于于防止用用户误按按关闭按按钮导致致程序关关闭,有有利于用用户的使使用,增增强软件件的友好好性,如如图111所示。图1
16、0 修改后后的ABBOUTTBOXX对话框框图11 提醒对对话框关于菜单单的制作作,首先先,需要要在ReesouurceeVieew中加加入资源源Mennu,后后增加对对应的菜菜单项以以及菜单单自己布布局,下下拉菜单单则需要要和按钮钮关联,其其方法是是将其IID和按按钮的IID一样样,菜单单布局图图12所示示。图 122 菜单单栏3.3关关键功能能的实现现对于各个个函数的的介绍,本本文以关关键代码码以及注注释的方方式进行行介绍,首首先介绍绍主对话话框中函函数的实实现以及及说明:(1)OOnoppen();打打开函数数voiddCZhhuanngWeenfeengDDlg:Onnopeen()
17、charrszFFileeFillterr=AlllFille(*.*)|*.*|AVIIFille(*.avvi)|*.aavi|Mp33Fille(*.mpp3)|*.mmp3|MPEEGFiile(*.mmpegg)|*.mppeg|MeddiaFFilee(*.asff)|*.assf|ViddeoFFilee(*.datt)|*.daat|MPGGAFiile(*.mmpgaa)|*.mppga|WavveFiile(*.wwav)|*.wavv|MovvieFFilee(*.movv)|*.moov|MiddFille(*.miid;*,rmmi)|*.mmid;*.rrmi|Wm
18、aaFille(*.wmma)|*.wwma|RmvvbFiile(*.rrmvbb)|*.rmmvb|AlllFille(*.*)|*.*|; /可可选的文文件类型型CFilleDiialoogdllg(truue,NULLL,NULLL,OFNN_HIDDEREEADOONLYY|OFNN_ALLLOWMMULTTISEELECCT|OFNN_NOCCHANNGEDDIR,szFFileeFillterr); /OOFN_ALLLOWMMULTTISEELECCT是允允许选择择多个文文件OFFN_NOCCHANNGEDDIR是是不改变变当前目目录POSIITIOONpoos=dlgg.Ge
19、ttStaartPPosiitioon();if(ddlg.DoMModaal()=IIDOKK) whhilee(poss!=NUULL)m_paathnnamee=dlgg.GettNexxtPaathNNamee(poss);/得到到完整的的文件名名,包括括目录名名和扩展展名m_liist.AdddStrringg(m_patthnaame);/增加到到播放列列表 其中难点点在于对对于陌生生函数的的理解,由由于类数数目较多多,各类类又有各各自不同同的成员员函数,运运用起来来比较困困难。除除了调用用通用文文件对话话框和较较为熟悉悉之外,其其他的函函数都是是平时没没有见过过的。播播放列表表中
20、获取取路径名名是靠的的添加主主要依靠靠于GeetNeextPPathhNamme()函数,而而m_lisst.AdddStrringg()函数数是将项项目名添添加到播播放列表表中。 (2)OOnliist();播播放列表表按钮函函数和OOnDbblcllkLiist11();播放列列表函数数:voiddCZhhuanngWeenfeengDDlg:Onnlisst() flagg=!fllag;if(!flaag)SetWWinddowPPos(NULLL,00,0,4000,4330,SSWP_NOMMOVEE);/播放放列表初初始位置置状态elseeSetWWinddowPPos(NULL
21、L,00,0,5900,4330,SSWP_NOMMOVEE);/点击击按钮后后播放列列表位置置状态对于播放放列表按按钮,设设计在那那的功能能是运行行软件时时播放器器的播放放列表是是隐藏的的,当点点击按钮钮时,播播放列表表弹出。为为了实现现这个功功能,我我将播放放列表LLISTT1和播放放列表按按钮关联联起来,关关系设为为控制。为为此,在在程序定定义了一一个全局局变量fflagg,将其其设为一一个标志志,在初初始化时时定义窗窗口无相相对位移移,当点点击按钮钮是,窗窗口位移移,因此此就实现现了播放放列表的的隐藏和和出现的的功能。而而对于播播放列表表,则要要求它实实现双击击播放功功能,所所以对列列
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vc 多媒体 播放 5577
限制150内