ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:157.69KB ,
资源ID:11134699      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11134699.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(多媒体播放器 课程设计报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

多媒体播放器 课程设计报告.docx

1、多媒体播放器 课程设计报告(设计标题)多媒体播放器用户签名: 开发成员: 孟凡林 开发时间: 201012-23 目录0引言 31 工作计划 31.1主要工作阶段划分 31.2工作任务分工 32需求分析 32.1概述 32.2用户分析 42.3 约束条件 42.4功能需求 42.5用户界面需求 43设计与实现 43.1概述 43.2详细设计 53.1.1类的抽象及设计 53.3 主要程序文件 53.4开发环境以及部署环境要求 63.5 主要源码 64 测试 104.1概述 104.2 测试环境 104.3测试计划 104.4测试项目及结果 105、工作总结 115.1工作成果 115.2过程分

2、析 125.3经验教训及其分析 120引言现在人们娱乐的方式多种多样,已经有了很明显的变化,以前的户外运动现在已经在锐减,换而之的是网络游戏与网上聊天,而在同时听听音乐看看电影也成为了巨大的需求,所以很多多媒体播放软件出现了,形形色色各种都有,而我也赶下时髦,体验一下编写的过程,现在才发现这并不难,重要的是插件的插入,而其他的功能实现只需调用相应函数就行了!1 工作计划1.1主要工作阶段划分12月2021搜索相关资料,学习基础知识,大致设计框架12月2223考虑所用到的数据结构,函数及其作用,做较为细致的分析12月24日设计开始,仔细设计!12月26写报告(用表格或图表的形式列出你们小组各个阶

3、段的时间进度大致安排)1.2工作任务分工阶段名称任务名称任务描述负责人协助人 1234全部编写软件孟凡林孟凡林2需求分析2.1概述1)到网上或图书馆查找相关系统函数实现相应的功能;2)使用MFC构建相应的用户界面2.2用户分析1)要求有稳定的性能,可实现要求的功能;2)拥有较好的界面,很方便人操作!2.3 约束条件(作为开发人员的,通常你的小组的工作时间和人员是一个明显约束;另外站在用户的角度,他们对你有什么约束要求,请从这两个角度进行陈述。)2.4功能需求能够打开文件放进播放列表,点击播放键使其播放,暂停键暂停,停止键停止,重播键重新播放,全屏键全屏播放,退出键退出程序,增大键增大音量,减小

4、键减小音量!2.5用户界面需求3设计与实现3.1概述使用MFC构建相应的用户界面,实现相应的功能-能够打开文件放进播放列表,点击播放键使其播放,暂停键暂停,停止键停止,重播键重新播放,全屏键全屏播放,退出键退出程序,增大键增大音量,减小键减小音量,然后向其中加入各个函数实现相应的功能!3.2详细设计3.1.1类的抽象及设计1)控件active movie3类,主要用来播放各种类型的文件,其封装的各种成员函数使其成为MFC设计播放器必不可少的控件类;2)对话框基类cDlg类,及其派生类:(a)控件repeatbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时再次播放打开的文件;(b)控

5、件copenbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时提供资源管理器供用户选择文件;(c)控件playbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时播放打开的文件;(d)控件pausebtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时暂停播放打开的文件;(e)控件lowerbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时减小播放音量;(f)控件upperbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时增大播放音量(g)控件stopbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时停止播放打开的文件;(h)控件fulls

6、creen类,作为播放器打开文件的消息响应媒介,能够做到被点击时全屏播放打开的文件;至于其他的,当我们使用MFC编程时,会有很多封装的类供我们使用,所以就不一一列举了!3.3 主要程序文件1)头文件(为类加入相应的标准流,库):Activemovie3.h-控件;stdafx.h-框架构成;多媒体.h-多媒体的应用;多媒体Dlg.h-对话框;resourse.h-为多媒体.rc服务!2)源文件(完成各种类的定义与实现):Activemovie3.cpp-控件;stdafx.cpp-框架构成;多媒体.cpp-多媒体的应用;多媒体Dlg.cpp-对话框;多媒体.rc-运行过的效果!3.4开发环境以

7、及部署环境要求1)Vs2010;2)3.5 主要源码1)打开文件void CMyDlg:OnOpenButton() / TODO: Add your control notification handler code here CString strFilter = Mp3 File(*.mp3)|*.mp3| ; strFilter += MPEG File(*.mpg;*.mpeg)|*.mpg;*.mpeg| ; strFilter += Wave File(*.wav)|*.wav| ; strFilter += AVI File(*.avi)|*.avi| ; strFilter

8、+= All File(*.*)|*.*| ; /过滤适当的文件必须以0区分,以00结束,否则会出现参数不正确CFileDialog dlgOpen(TRUE,NULL,NULL,OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT,strFilter,this);/为CFileDialog定义对象DWORD MAXFILE = 2412; / 分配足够空间dlgOpen.m_ofn.nMaxFile = MAXFILE; / 设置buffer的大小CString strFileName; char* buf = new cha

9、rMAXFILE; /分配空间dlgOpen.m_ofn.lpstrFile = buf; dlgOpen.m_ofn.lpstrFile0 = NULL; /赋值if(IDOK = dlgOpen.DoModal() POSITION pos = dlgOpen.GetStartPosition(); while (pos != NULL) strFileName = dlgOpen.GetNextPathName(pos); / 获取独立文件名m_list1.InsertString(m_list1.GetCount(),strFileName);/加至播放列表 delete buf; /

10、释放空间2)播放文件void CMyDlg:OnPlayButton() / TODO: Add your control notification handler code here m_ActiveMovie.Run();/播放文件SetTimer(0,20,NULL);/设置定时器 3)暂停播放void CMyDlg:OnPauseButton() / TODO: Add your control notification handler code here m_ActiveMovie.Pause(); 4停止播放void CMyDlg:OnStopButton() / TODO: Ad

11、d your control notification handler code here m_ActiveMovie.Stop();/停止播放文件KillTimer(0);/关掉定时器 5重复播放void CMyDlg:OnReapetButton() / TODO: Add your control notification handler code here if(!isRepeat) isRepeat=TRUE; SetDlgItemText(IDC_STATIC2,Status:Repeat); else isRepeat=FALSE;SetDlgItemText(IDC_STATI

12、C2,Status:Normal);6增大声音void CMyDlg:OnUpperButton() / TODO: Add your control notification handler code here long Volume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume+100);m_ActiveMovie.Run(); 7减小声音void CMyDlg:OnLowerButton() / TODO: Add your control notification handl

13、er code here long Volume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume-100);m_ActiveMovie.Run(); 8全屏播放void CMyDlg:OnFullButton() / TODO: Add your control notification handler code here m_ActiveMovie.Pause();m_ActiveMovie.SetFullScreenMode(true);m_ActiveMovie.SetMovie

14、WindowSize(SW_SHOWMAXIMIZED);m_ActiveMovie.Run(); 9关闭窗口void CMyDlg:OnCloseButton() / TODO: Add your control notification handler code here m_ActiveMovie.CloseWindow(); 10退出void CMyDlg:OnClickedExitButton() / TODO: Add your control notification handler code here PostQuitMessage(0);/;4 测试4.1概述1)打开文件(从

15、曲库中找出歌曲加入列表中)2)播放,暂停,停止,全屏显示,停止,重播(active movie实现功能)4.2 测试环境1)2)vs20104.3测试计划1)打开文件2)播放及各种键的使用3)多次运行,检查稳定性4.4测试项目及结果1)打开文件2)5、工作总结5.1工作成果工作成果不是很明显, 因为我自作自受,霉运连连让我乱了阵脚,最后的一个大悲剧直接把我将死了!我没有编写出来一个成功的程序,以失败告终!我完了,Oh,myGod!5.2过程分析唉!因为自己眼光不够敏锐,没有选择正确的题目,一开始选择了邮件收发程序,当框架做好以后,开始实现各种功能了,才发现自己并不明白MAPI是怎么一回事,到处

16、查也不是很会用,协议更没搞清楚,而且也不知道应该调用哪个系统函数来实现附件的添加,并且第三步由于协议问题也没头绪,联想到上学期做了好久也没搞出个好程序的经验,我就果断放弃了,改做文件编辑,结果又是因为搞不清怎么调出资源管理器搞的头皮发麻,最后又是悲剧的放弃了,现在一想都后悔啊!意志太不坚定了,就那么个小困难就把我给吓到了,唉!折腾了两天半已经是星期三的下午了,眼看期限快到了,我没办法,急得要命,没办法,这时候想起来老师曾经说过网上的媒体播放器很多,于是就到网上去搜了一个,结果一弄。唉!问题又出来了,我的机子里没装那个active movie控件,又搜了一下,找到插入控件的方法,使用运行命令插入

17、了控件,但还是没有,又一搜,哎呀,真悲剧,2010版中找不到插入那个控件的方法。怎么办,怎么办?可急死我了,最后无奈到机房插入了那个控件,一点一点的加入了各个按钮,然后添加上了各种函数,谁知这时桌面突然显示,请输入用户名和密码,咋回事?唉!又悲剧了,钱用完了?Oh,myGod,不是吧?我还没保存那!然后,一翻衣兜,哎,没钱,怎么办?没办法,第二天,再次走入机房,这次聪明了,只弄了个插件,回到宿舍,因为高版本肯定能兼容低版本,所以继续用2010版的完善其它工作,最后大功告成,一运行,不行,参数数目不对。这时,我们班回来了一个人,说老师在为我们开了一教室2402,于是我下午就去问老师您,结果老师您

18、一下子来了句抄的,一下子把我给弄晕了!哎呀,老师真厉害呀,一眼就看出来了,但是当我回来以后又运行还是无效的参数数目,并没有那个错误,还是不行啊!我彻底无奈了,仔细查找各种可能,但始终解决不了,最后只得放弃,听取命运的宣判,最后竟然还是让我找出来错误在哪,我要崩溃了,不过还是强忍着回到宿舍,继续我的寻错之旅!唉,加油!哈哈!找到了,原来使用VS2010之后再用VC+6.0会出现缺少文件,不能兼容。而其中有一段CString PathName= dlgOpen.GetPathName(); PathName.MakeUpper(); m_ActiveMovie.SetFileName(PathNa

19、me);中有非法字符很难运行,所以会出现参数数目不正确! 5.3经验教训及其分析(1)真是不经历不知道,我现在才发现自己的基础是那么的薄弱,MFC的各种控件的使用方法都不是很熟,尤其是列表框,无论怎么学,使用什么方法,都弄不了,真是愁煞我也。本来在文件编辑放弃以后,做了多媒体播放器,我突然发现了调出资源管理器并选择的方法,但是因为listbox不太会用,不能使用它打开文件,所以只得放弃,今天一个上午的努力也白费了!以后一定要极爱按基础的扎实,为以后的编程提供巨大的方便!(2)以后做事要做好全局的规划,决定好了之后就不要轻易的改变,否则会误了大事,这让我想到了那个挖井的故事,这儿挖一点挖不出水就不挖了,那儿挖不出水也不挖了,最后挖了好多地方,还是没有挖出来一滴水,所以做什么事都是浅尝辄止的话,最后是成不了大事的!就比如说我这次,做了很多却一个也没做成,最后老师还不满意。还不如一直做第一个那,起码来说不会去抄啊!(3)还有,以后千万不能从网上直接拷代码了,或者说一旦复制就不能做丝毫的改动,否则会出现好多错误,只得一顶一点改回去!(4)通过这次课设,我学会了很多,应该说很熟练的掌握了MFC控件的添加与使用,也对使用MFC的各种控件驾轻就熟了,外也学会了一定的调试技巧,感觉收获颇丰,而遗憾的是自己未能独立的完成一个项目!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1