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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(可视化编程优秀课程设计.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

可视化编程优秀课程设计.doc

1、 学 号: 课 程 设 计 课程名称 可视化编程(VC) 学 院 计算机科学和技术学院 专 业 软件工程专业 班 级 姓 名 指导老师 —— 第2学期 目录 引言.............................................................................................

2、1 1.设计要求描述.................................................................................................................................1 2.基础操作及功效说明 ..........................................................................................

3、1 2.1基础操作 ............................................................................................................................1 2.3功效说明 ............................................................................................................................1 3

4、软件各功效模块介绍 ....................................................................................................................2 4.软件各功效模块说明 ....................................................................................................................3 4.1“播放/暂停”功效实现 ........................

5、3 4.2“快退”功效实现...................................................................................................................4 4.3“快进”功效实现.................................................................................

6、4 4.4“上一首”功效实现...............................................................................................................4 4.5“下一首”功效实现...............................................................................................................4 4.6“停止”功效实现.

7、5 4.7“音量/静音”功效实现 ....................................................................................................5 4.8“全屏”功效实现.......................................................

8、5 4.9“(音量)+”功效实现 ....................................................................................................5 4.10“音量调整”功效实现 ....................................................................................................6 4.11

9、音量)-”功效实现 ....................................................................................................6 4.12“相关”功效实现.............................................................................................................6 4.13“退出”功效实现 ................................................

10、6 4.14“次序,随机,单曲播放”功效实现 ............................................................................7 4.15“清空列表”功效实现 ....................................................................................................8 4.16“从列表移除”功效实现....

11、8 4.17“添加文件”功效实现 ....................................................................................................8 4.18“保留列表”功效实现 ....................................................................

12、9 5.运行界面.........................................................................................................................................9 6.问题及处理方案 .............................................................................................................

13、10 7.个人体会.......................................................................................................................................11 8.参考文件....................................................................................................................................

14、12 引言 在个人计算机流行今天,多媒体播放软件已成为几乎每台个人计算机必备软件之一,大家在闲暇时能够用多媒体播放软件播放视频音乐来达成娱乐作用。现在比较流行播放软件有baidu影音、快播、迅雷播放器等,这些播放器全部支持大多数格式视频音频文件,即使她们实现功效大同小异,但每款播放软件全部有自己独特风格。用户经过体验多种不一样播放软件进行对比来找到一款适合自己播放软件。 VC++6.0拥有强大功效,经过用VC++6.0软件能够编写各式各样应用程序,该课程设计就是利用VC++6.0来编写播放器软件,能够播放*.mp3、*.wma、*.mdi、*

15、wav、*avi、*dat、*rmvb、*mp4等格式音频视频文件。 1.设计要求描述 1.1制作一个含有自己设计风格媒体播放器。 1.2要求能随机选择要播放文件,实现前进,回退,暂停,循环播放,音量大小调整等基础功效。 1.3要求能播放多个格式(最少三种以上)音频视频格式文件。 1.4能够实现其它附加功效 1.5界面良好,功效完善 2.基础操作及功效说明 2.1基础操作 该播放器含有播放、暂停、快退、快进、停止、静音、音量调整、全屏等 基础功效,同时还含有自制播放列表,能够根据列表上次序进行上一首、下一首播放,对列表能够进行添加文件、保留列表

16、清空列表、从列表移除等操作,而且设定了播放模式,包含次序播放、随机播放、单曲播放三个播放模式能够选择。 2.3功效说明 该播放器使用了Windows Media Player控件和多种类型按钮,和一个列表框和滚动条控件,并由Windows Media Player对多媒体文件进行解码和播放。 因为Windows Media Player特点,首先要在初始化中对CWMPControls,CWMPSettings等十七个类对象进行绑定和关联。对Windows Media Player操作有播放、暂停、快退、快进、停止、静音、音量调整、音量增加减小、全屏,这些功效实现关键是经过调用C

17、WMPControls,CWMPSettings和CWMPPlayer4类中组员函数来实现。对于播放列表框操作,添加文件是利用listbox中AddString函数把文件添到播放列表里,在由CWMPPlayer4类中组员函数加载文件进行播放;保留列表是新创建一个名为listtxt文本文件,再将列表框内容逐一写到该文本文件里;清空列表操作是调用listbox类ResetContent函数将列表框内容清除,并随即调用保留函数使list文件中内容也清空;从列表移除是将光标目前选定位置在列表框中删除。至于播放模式选择是利用ontimer函数和settimer函数来控制播放模式。 3.软件各功

18、效模块介绍 首先是添加文件,将文件添加到播放列表,再列表框里双击文件,此时文件开始播放,然后可进行播放、暂停、快退、快进、停止、静音、音量调整、全屏、上一首、下一首、次序播放、随即播放、单曲播放等操作,对于音量调整可经过滑动音量滑块条和点击增大减小按钮。 该播放软件中控件关联变量,控件ID以下表所表示。 控件Caption 控件ID 关联变量类型 关联变量名 WMPlayer IDC_OCX1 CWMPlayer4 m_Player ListBox IDC_LIST1 CListBox m_list Button IDC

19、PAP CButton m_playpause SLIDER IDC_SLIDET1 CSliderCtrl m_pSlide Button IDC_VOICE CButton m_voice 表1 控件ID及关联消息响应函数 功效 控件ID 消息响应函数 播放/暂停 IDC_PAP OnPap() 快退 IDC_FASTREVERSE OnFastreverse() 快进 IDC_FASTFORWARD OnFastforward() 上一首 IDC

20、BUTTONPRE OnButtonpre() 下一首 IDC_BUTTONNEXT OnButtonnext() 停止 IDC_STOP OnStop() 音量/静音 IDC_VOICE OnVoice() 全屏 IDC_FULLSCREEM OnFullscreem() (音量)+ IDC_DECVOI OnDecvoi() (音量)- IDC_INCVOI OnIncvoi() 相关 IDC_ABOUT OnAbout() 退出 IDC_EXIT OnExit() 次序播放 OnRadio1 OnTimer() 随机播放 On

21、Radio2 OnTimer() 单曲播放 OnRadio3 OnTimer() 清空列表 IDC_CLEAN OnClean() 从列表移除 IDC_REMOVE OnRemove() 添加文件 IDC_ADD OnAdd() 保留列表 IDC_SAVE OnSave() 表2 表1和表2所列出是对应控件对象关联,另外还需要有一个CString类型变量名来保留文件路径及文件名。 类名 对象名 CSting m_FilePathName 除了对各个控件关联变

22、量和消息响应函数,还要对对话框类进行消息响应函数关联,还需要用到WM_TIMER消息响应函数和SetTimer()和KillTimer()函数,控制将对话框类进行该消息响应函数关联并书写。 4.软件各功效模块说明 4.1“播放/暂停”功效实现 void CPlayerofEasonDlg::OnPap() { CString str; m_playpause.GetWindowText(str); if(str=="播放") { m_playpause.SetWindowText("已暂停"); m_Player.GetContro

23、ls().pause(); } else { m_playpause.SetWindowText("播放"); m_Player.GetControls().play(); } } 4.2“快退”功效实现 void CPlayerofEasonDlg::OnFastreverse() { m_Player.GetControls().fastReverse(); } 4.3“快进”功效实现 void CPlayerofEasonDlg::OnFastforward() { m_

24、Player.GetControls().fastForward(); } 4.4“上一首”功效实现 void CPlayerofEasonDlg::OnButtonpre() { CString str; int index=m_list.GetCurSel()-1;//光标减一 if(index<0) index=m_list.GetCount()-1;//假如播放完第一曲就自动播放最终一首 m_list.GetText(index,str);//取得目前光标所指路径字符串 m_Player.SetUrl(str);//开始播放上一首

25、 m_list.SetCurSel(index);//自动置光标 4.5“下一首”功效实现 void CPlayerofEasonDlg::OnButtonnext() { CString str; int index=m_list.GetCurSel()+1;//光标加一 if(index>=m_list.GetCount()) index=0;//假如播放完最终一曲就自动播放第一首 m_list.GetText(index,str);//取得目前光标所指路径字符串 m_Player.SetUrl(str); //开始播放下一

26、首 m_list.SetCurSel(index);//自动置光标 } 4.6“停止”功效实现 void CPlayerofEasonDlg::OnStop() { m_Player.GetControls().stop (); } 4.7“音量/静音”功效实现 void CPlayerofEasonDlg::OnVoice() { m_voice.SetWindowText("已静音"); m_Player.GetSettings().SetVolume(0); m_pSlide.SetPos(0); } 4.8“全屏”功效实

27、现 void CPlayerofEasonDlg::OnFullscreem() { long Playstate=m_Player.GetPlayState (); if(!Playstate) { MessageBox("请先加载视频O.O",NULL,MB_OK); } else { m_Player.SetFullScreen (true); SetFocus(); } } 4.9“(音量)+”功效实现 void CPlayerofEasonDlg::OnIncvoi() { m_Player.GetSett

28、ings().SetVolume(m_Player.GetSettings().GetVolume()+10); m_pSlide.SetPos(m_pSlide.GetPos()+10); if(m_pSlide.GetPos()>0) m_voice.SetWindowText("音量"); } 4.10“音量调整”功效实现 void CPlayerofEasonDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { if(pScrollBar->GetDlgCtrlID()==I

29、DC_SLIDER1) { CSliderCtrl*pSlide=(CSliderCtrl*)pScrollBar; m_Player.GetSettings().SetVolume(pSlide->GetPos()); } if(m_pSlide.GetPos()>0) m_voice.SetWindowText("音量"); CDialog::OnHScroll(nSBCode, nPos, pScrollBar); } 4.11“(音量)-”功效实现 void CPlayerofEasonDlg::OnDecvoi() { //

30、 TODO: Add your control notification handler code here m_Player.GetSettings().SetVolume(m_Player.GetSettings().GetVolume()-10); m_pSlide.SetPos(m_pSlide.GetPos()-10); } 4.12“相关”功效实现 void CPlayerofEasonDlg::OnAbout() { // TODO: Add your control notification handler code here CAboutDlg

31、 aboutDlg; aboutDlg.DoModal(); } 4.13“退出”功效实现 void CPlayerofEasonDlg::OnExit() { int check=AfxMessageBox("确定要退出吗?",MB_OKCANCEL); if(check==IDOK) { CDialog::OnCancel();//点击确定则退出 KillTimer(1); } else { return; //取消退出 } } 4.14“次序,随机,单曲播

32、放”功效实现 void CPlayerofEasonDlg::OnTimer(UINT nIDEvent) { int index=m_Player.GetPlayState();//获取播放状态 if(index==1)//假如播放完成 { if(((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck())//假如是次序播放 { CString str; int index=m_list.GetCurSel()+1; if(index>=m_

33、list.GetCount()) index=0;//假如播放完最终一曲就自动播放第一首 m_list.GetText(index,str); m_Player.SetUrl(str); m_list.SetCurSel(index);//自动置光标 }//次序播放 if(((CButton *)GetDlgItem(IDC_RADIO2))->GetCheck())//随机播放 { srand(time(0));//目标在于每次全部能产生不一样随机数序列 m_l

34、ist.SetCurSel(rand()%m_list.GetCount());//随机选择0-m_list.GetCount()-1任意一个数即随即选择m_list里文件 m_list.GetText(m_list.GetCurSel(),m_FilePathName); m_Player.SetUrl(m_FilePathName); } if(((CButton *)GetDlgItem(IDC_RADIO3))->GetCheck())//单曲循环 { m_list.GetText(m_list.GetCurSel(),m_F

35、ilePathName); m_Player.SetUrl(m_FilePathName); } } CDialog::OnTimer(nIDEvent); } 4.15“清空列表”功效实现 void CPlayerofEasonDlg::OnClean() { CStdioFile file; m_list.ResetContent();//删除列表 file.Open(".\\list.txt",CFile::modeCreate); } 4.16“从列表移除”功效实现 void CPlayerofEasonDlg

36、OnRemove() { m_list.DeleteString(m_list.GetCurSel());//删除目前光标所选择行 OnSave();//自动保留删除某一行后播放列表 } 4.17“添加文件”功效实现 void CPlayerofEasonDlg::OnAdd() { Char szFileFilter[]="音频文件(*.mp3;*wav;*.mp4;*.rmvb;*.avi;*.mpeg;*.dat;*.mpga;*.mov;*.3gp;*.wma)|*.mp3;*wav;*.mp4;*.rmvb;*.avi;*.mpeg;*.dat

37、mpga;*.mov;*.3gp;*.wma||"; CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT|OFN_NOCHANGEDIR,szFileFilter); if(dlg.DoModal()) { POSITION pos=dlg.GetStartPosition(); while(pos!=NULL) { m_FilePathName=dlg.GetNextPathName(pos);//得到完整文件名,包含目录名和扩展名 m_list.Add

38、String(m_FilePathName);//增加到播放列表 } } } 4.18“保留列表”功效实现 void CPlayerofEasonDlg::OnSave() { CStdioFile file; file.Open(".\\list.txt",CFile::modeCreate|CFile::modeReadWrite|CFile::typeText);//打开指定文件 for(int i=0;i

39、emp); strtemp+="\n"; file.WriteString(strtemp);//保留播放列表 } } 5.运行界面 6.问题及处理方案 6.1首次编译连接运行成功,但单独把.exe文件拉出来运行时出现问题,程序不能运行,弹犯错误框 原因:在对话框初始化函数里,即BOOL CPlayerofEasonDlg::OnInitDialog()函数里打开文件列表语句:file.Open(".\\list.txt",CFile::modeReadWrite|CFile::typeText);,注意,此处为可读写TXT文件,若Debug里

40、事先没有list.txt文件则不能创建。这会造成播放列表不能加载,有些人可能会问,加上CFile::modeCreate不就行了。经尝试后,程序初始时运行file.Open(".\\list.txt",CFile::modeReadWrite|CFile::typeText|CFile::modeCreate);不管之前在运行播放器时有没有点了保留按钮列表,加载后列表框一直为空。查看MSDN后发觉modeCreate意思是假如没有就创建,假如有则清零,为满足功效需要,故这里不加CFile::modeCreate。所以在有.exe文件目前目录下一定要有.list文件,不然就会如上图报错。 处理

41、方案:在有.exe文件目前目录下自己创建.list文件 6.2起初运行成功后需要对软件作美化,于是就想到加载皮肤。在VC编译后直接点实施,可运行成功,但在Debug下点击.exe文件后就报错。 原因:在编译后,VC直接找工程区根目录,我把报错框中所需要文件放在了该工程区根目录下,假如在Debug下直接点.exe文件运行时,.exe文件会在其目前目录下找,这么就使得找不到所需要文件而报错。 处理方案:在Debug文件夹里加上所需要文件 6.3播放器大致完成后需修改图标,不知怎么将一个图片格式文件转换为.ico文件并加载。 处理方案:经上网查阅后,下载了一个格式转换文件,能够

42、直接将图片转.ico文件。在ResourceView里找到Icon文件夹,删除原有图标文件,并引入.ico文件,再在属性中把ID改为刚才删除图标ID即可。 7.个人体会 经过这次课程设计实践我受益匪浅! 这次课设使我愈加清楚了解了编程思想和编程技巧,也认识到了各函数生命周期及对控件添加消息响应,什么时候该给控件添加组员变量,什么时候加组员变量是多于。一个MFC软件编写包含构思、设计、编写、调试等过程,当然,软件及编程风格也很关键。MFC程序设计是一门关键专业基础课程。它和数据结构,操作系统,数据库原理和软件工程等课程相互连通,经过对MFC中类直接关系分析能够对之前学C++语言

43、有更清楚认识,学号了部分其它课程对编写出一个好应用程序也是至关关键。课程设计是培养学生综合利用所学知识,发觉,提出,分析和处理实际问题,锻炼实践能力关键步骤,是对学生实际工作能力具体训练和考察过程,经过对此次课程设计制作全过程,使我对MFC有了更深入认识和了解。在不长时间里我明白了,不仅仅是要重视,而且要经过不停上机试验才能愈加好地学习这门语言。在课程设计过程中,我认识到我有很多不足得地方。首先是自己在敲代码速度上还有待提升,常常按错字母,但比起刚进入大课时还得看键盘找按键来,已经有了很大提升;再有对MFC部分标准库函数不太了解,对函数调用正确使用不够熟悉,还有对MFC中常常出现错误也不了解。

44、经过设计实践,使我在这多个方面认识有所提升。经过设计各个步骤,从中学到了很多,锻炼了自己系统设计能力,从系统需求到系统功效,到系统测试,到系统优化,有一个清楚思绪,这么对我们以后在工作中或学习中得到很好锻炼,为用VC++编辑软件奠定基础。当然,本汇报所采取处理问题方法并不是很完善,在以后学习、工作中,将继续研究并改善。 对于MFC程序模块不熟悉是课程设计中所碰到大问题。 MFC中有基于基础对话框,单文档,多重文档等模块,对部分模块偏向造成对于全部模块全部是似懂非懂,而且在编写程序时候相互混淆造成编写错误。 程序基础不扎实使得课程设计不够完美,编程效率低下,耗时较长。 以前对程序只是

45、看在眼里,动手时间并不多,这次程序设计对自己程序设计实践能力发出了巨大挑战,经过对程序设计发觉在自己以前基础功不扎实,造成很多代码全部打错,大小写不分。自己对MFC程序中多种函数和各个函数之间相互调用还不能很好掌握,不知道程序接口函数和参数值,只能查询资料慢慢了解。 经过此次课程设计后,从各方面证实了我多种能力全部有待提升,但这次课程设计也给了我成功果实,使用对可视化编程这门课产生了极大爱好,相信在以后日子里我会不停进步,从一个菜鸟最终变为一个大神。 8.参考文件 【1】 詹红霞 侯思颖 陶永红等编著  Visual c++程序设计教程  清华大学出版 社  【2】 王育坚

46、编著 Visual c++面向对象编程教程第二版 清华大学出版社  本科课程论文评分标准 班级 学号 姓名 论文题目 多媒体播放器系统实现 评阅点 评分标准(细则) 分值 给分 功效及算法 (40分) 正确实现本程序所需全部功效,算法设计正确合理且有一定创意 40分 实现所需功效,算法正确 30分 基础实现所需功效 15分 有显著重大错误 5分 无法实现程序功效 0分 界面和操作性 (20分) 界面美观、合理,可操作性强 20分 界面合理,可操作 15分 界面尚可,基础可操作 10分 可操作较差 5分 程序可读、可维护性 (15分) 程序可读性好、逻辑清楚,程序完整,可维护性好, 15分 程序可读、可维护 10分 基础可读可维护 5分 逻辑混乱、不可读 0分 论文质量 (25分) 论文规范,行文流畅,层次清楚 25分 论文书写基础规范,文理较通畅 20分 结构较合理,层次较清楚,基础符合要求 15分 结构混乱,文不对题目,或有显著剽窃现象 5分 总分 老师署名:

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服