已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告( 2015 / 2016 学年 第1学期)题 目: 多媒体播放器的设计和实现 源代码加153893706 专 业 物联网工程 姓 名 学 号 指导教师 指导单位 物联网学院 日 期 2016/1/15 评分细则评分项成绩遵守机房规章制度(5分)上机时的表现(5分)学习态度(5分)程序准备情况(5分)程序设计能力(10分)团队合作精神(5分)课题功能实现情况(10分)算法设计合理性(10分)用户界面设计(10分)报告书写认真程度(5分)内容详实程度(10分)文字表达熟练程度(10分)回答问题准确度(10分)简短评语教师签名:年月日评分等级备注评分等级有五种:优秀、良好、中等、及格、不及格 多媒体播放器的设计和实现一、 课题内容和要求随着计算机技术的发展和网络的普及,多媒体素材类型越来越多,包括音频、视频、图像、动画等,由于音视频、图像等的信息容量大,受硬件条件限制,以往多媒体应用并不广泛,随着硬件技术的不断提高,多媒体技术已为各类人员广泛使用,开发多媒体课件、网络课程、网站、应用软件、管理项目等均需利用多媒体素材。本软件是为满足部分人的浏览需求而开发的,能打开多种媒体格式,小巧简单,此外,为了方便使用,还具有对播放列表进行操作的功能,因此开发制作这一播放器具有备现实意义。本次课程设计的任务是设计并实现一款简单的多媒体播放器。可以播放多种格式的音频、视频文件,该播放器实现了的基本功能包括:音频视频文件的打开、添加到菜单、媒体的播放、音量大小的调节、播放时间的拖动、暂停播放、停止以及歌曲信息的查询与添加等。使之成为一款简易的多媒体播放设备,能够完美的播放市面上大多数的音频、视频文件。同时还具有多文件自动顺序循环播放、全屏播放、静音等实用功能。二、需求分析 系统功能模块:文件控制,列表控制,播放控制,进度控制,声音控制,显示控制。功能块描述: 文件控制: 打开歌曲文件, 打开文件有两种方法,一是通过主面板上打开按纽,二是通过菜单中文件的子菜单,添加歌曲文件。 列表控制:添加文件,删除当前所选项,删除全部,在列表中双击播放,列表的隐藏弹出。 播放控制:播放(暂停),停止,上一首,下一首,循环。播放控制也可在菜单中进行控制。 进度控制:前进后退,显示进度。 声音控制:放大,减小声音,显示声音,静音。 显示控制:带列表的主界面可以清楚的看到播放列表,正在播放的曲目,以及下一个即将播放的曲目,显示图像,打开图像,关闭图像,控制屏幕大小。 系统模块框图:系统控制:(1)文件控制用例图(2)播放控制用例图:(3)进度控制用例图:(4)声音控制模块用例图: (5)显示控制模块用例图: 三、概要设计本程序的开发用的是VC+的MFC集成开发环境,开发本程序的方案大概有如下二种:1、利用VC开发环境提供的ActiveX控件ActiveMovieControl Object2、利用系统自带的MCI命令接口来编程。 第二种方法是使用系统自带的MCI命令接口。MCI包含在系统的MMSYSTEM.H文件中,参数较多,功能比较齐全,虽然使用起来比较烦琐,但是更具有开发意义。 综上所述,使用系统自带的MCI命令接口来编程的方法是比较理想的选择。以下的开发设计流程就是基于第二种方案的设计流程。音视频播放泳道图:显示图像的活动图模块函数列表模块名称函数实现打开模块voidCMediaPlayerDlg:OnOpen()关闭模块voidCMediaPlayerDlg:OnClose()播放模块voidCMediaPlayerDlg:OnPlay()暂停模块voidCMediaPlayerDlg:OnPause()停止模块voidCMediaPlayerDlg:OnStop()全屏模块Void CMediaPlayerDlg:OnFulscreeen()音量模块voidCMediaPlayerDlg:OnLower()voidCMediaPlayerDlg:OnUpper()voidCMediaPlayerDlg:OnMute()循环模块voidCMediaPlayerDlg:OnRepeat()voidCMediaPlayerDlg:OnTimer()变量声明列表四、详细设计综上所述,使用系统自带的MCI命令接口来编程的方法是比较理想的选择。基本界面设置在基本界面确定后,添加各类控件,如图所示:对话框基本框架将Button定义为自定义CButtonST按纽类的对象,进度滑条定义为自定义的CMySliderControl类的对象,时间显示静态文本定义为自定义的CMatrixStatic。各个控件的位置是由程序控制,所以原来摆在什么地方并不影响程序显示出来的效果。 1.打开文件,添加列表打开文件有两种方法,一是通过主面板上打开按纽,二是通过菜单中文件的子菜单打开文件。添加文件:CButtonST,IDC_ADD,m_add2.播放控制播放控制包括:播放(暂停),停止,上一首,下一首,循环,播放进程控制。播放控制也可在菜单中进行控制。1. 播放:CButtonST,IDC_PLAY, m_play2. 暂停:CButtonST,IDC_PAUSE, m_pause3. 停止:CButtonST,IDC_STOP, m_stop4. 上一首:CButtonST,IDC_PREVIOUS, m_previous5. 下一首:CButtonST,IDC_NEXT, m_next6. 循环:CButtonST,IDC_REPEAT, m_repeat7. 播放进程控制CMySliderControl, IDC_SLIDER, m_slider3.对列表的控制列表的控制包括:添加文件,删除当前所选项,删除全部,在列表中双击播放,列表的隐藏弹出。设置如下:1. 添加文件:CButtonST,IDC_ADD, m_add2. 删除当前所选项:CButtonST, IDC_DEL, m_del3. 删除全部:CButtonST, IDC_DELALL,m_delall4. 列表中的双击播放:LISTBOX本身的LBN_DBLCLK消息函数OnDblclkList()5. 列表的隐藏弹出:CButtonST, IDC_HIDLIST, m_hid4.菜单设置除去上述菜单控制之外,菜单中还包括音量控制,窗口总在最上。1. 音量控制:IDC_ONVOICE, m_voice2. 窗口总在最上:ID_W_TOP5.界面设置各个自定义类的声明:1. CButtonST类:详细说明请见程序。2. CMySliderControl类:详细说明请见程序。3. CMatrixStatic类:详细说明请见程序。先设置基本界面的图形,如下: 主界面的图在主对话框的类定义中声明:private:void InitMPlayerFace();/初始化界面在主对话框的初始化程序里调用该函数,具体定义请参照程序中函数:void CMediaDlg:InitMPlayerFace()在主界面设置好相应的位置后,就开始定义各个控件的具体功能。6. 打开文件,添加列表打开添加文件的程序主要写在按纽的BN_CLICKED消息函数里面。程序详见void CMediaDlg:OnAdd() 7.播放控制1)播放:void CMediaDlg:OnPlay() 2)暂停:void CMediaDlg:OnPause() 3)停止:void CMediaDlg:OnStop() 4)上一首:void CMediaDlg:OnPrevious() 5)下一首:void CMediaDlg:OnNext() 6)循环:void CMediaDlg:OnRepeat() 7)播放进程控制void CMediaDlg:OnReleasedcaptureSlider(NMHDR* pNMHDR, LRESULT* pResult) 以上程序代码详见毕业设计。8.对列表控制1) 添加文件:CButtonST,IDC_ADD, m_add此函数同上述打开文件ONADD()。2) 删除当前所选项:void CMediaDlg:OnDel() 3) 删除全部:void CMediaDlg:OnDelall() 4) 列表中的双击播放:LISTBOX本身的LBN_DBLCLK消息函数OnDblclkList()void CMediaDlg:OnDblclkList() 5) 列表的隐藏弹出:void CMediaDlg:OnHidlist() 9.菜单设置1)菜单是从按纽出来,而不是原来意义的直接添加在对话框上。菜单按纽: void CMediaDlg:OnMenu() 2)音量控制是调用系统自带的音量控制程序。语句如下:void CMediaDlg:OnOnvoice() /调用系统的音量控制ShellExecute(this-m_hWnd, open, sndvol32.exe, NULL, NULL, SW_SHOWNORMAL);3)窗口总在最上:void CMediaDlg:OnWTop() 在本次实验中,我在代码部分主要负责声音控制部分,具体代码为void CMediaDlg:OnOnvoice() /调用系统的音量控制/*HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd );*/ShellExecute(this-m_hWnd, open, sndvol32.exe, NULL, NULL, SW_SHOWNORMAL);五、测试数据及其结果分析 单击播放器的打开按钮,会弹出打开对话框,在里面可以查找本地歌曲及视频,选择要播放的曲目,打击打开即可播放如图所示. 带列表的主界面可以清楚的看到播放列表,正在播放的曲目,以及下一个即将播放的曲目如图所示.可以通过菜单对播放器进行播放操作。 六、调试过程中的问题 本次实验是设计一个多媒体播放器,在任务开始前,我们对本次任务进行需求分析,但一开始设计的模块及模块需要完成的功能并没有很全面,遗漏了很多细节。于是我们进一步分析,慢慢将整个系统每个模块完整的描绘了出来。 在编写代码时,涉及了很多我们以前未曾接触的语句,我们也是遇到了很多错误,通过上网查找资料和老师的指点,最后终于把代码一个一个编写了出来。 在调试代码时,有些错误让我们小组很头疼,通过一步步的查看,比对需求分析,这些错误被我们一一攻破。七、课程设计总结 身为本次课程设计的组长,我的任务主要是在理解课程设计任务的基础上,协调好各组员的分工,充分调动各组员的参与兴趣,使得各组员发挥出自己的能力,共同完成本次课程设计。在此之外,我负责需求分析和概要设计的任务,包括画用例图,流程图,系统模块图等,使得组员能一目了然的理解本次课程设计的目的。通过本次课程设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025餐厅劳务合同模板
- 2025建筑装修分项工程劳务分包合同(土建与装修)
- 2025物业管理简易劳动合同说明及范本
- 2025年短视频内容创作收益合同协议
- 2025年短视频分成合同协议(佣金打赏)
- 2025劳动合同居住
- 2025年短视频带货合作协议合同
- 2025长期合作供货协议购销合同
- 2025电子产品购销合同范本参考
- 2025餐饮租赁经营的合同范本
- 2025至2030全球及中国花生行业项目调研及市场前景预测评估报告
- 2025年教师职称考试(语文)复习题及答案(小学)(吕梁)
- 2026年南宁市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(培优a卷)
- 2025年英语专业专升本模拟试卷真题(含答案)
- 2025年10月18日湖北省直遴选笔试真题及解析(市直卷)
- 2025年江苏(统招专升本)英语考试试题及答案
- 语言经济效应评估模型-洞察与解读
- 无源医疗器械设计开发流程
- 2025年儿童营养与健康知识竞赛答案及解析
- 2025乌鲁木齐银行秋季招聘备考考试题库附答案解析
- 思维导图在护理工作应用
评论
0/150
提交评论