武汉理工大学计算机学院可视化课程设计论文_第1页
武汉理工大学计算机学院可视化课程设计论文_第2页
武汉理工大学计算机学院可视化课程设计论文_第3页
武汉理工大学计算机学院可视化课程设计论文_第4页
武汉理工大学计算机学院可视化课程设计论文_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、学 号: 课 程 设 计课程名称可视化编程(VC)学 院计算机科学与技术学院专 业软件工程班 级姓 名满分学长指导教师岑 丽20132014学年 第2学期推荐精选目录一、基于MFC的多媒体播放器系统设计要求3二、系统功能模块概述.4三、系统功能模块详述.5四、系统运行界面.15五、系统调试16六、个人体会19七、本科课程论文评分标准20注:源代码已经打包上传到,地址:仅供参考推荐精选基于MFC的多媒体播放器系统一、 基于MFC的多媒体播放器系统的设计要求1.制作一个具有自己设计风格的媒体播放器。2.要求能随机选取要播放的文件,实现前进,回退,暂停,循环播放,音量大小调节等基本功能。3.要求能播

2、放多种格式(至少四种或四种以上)的音频视频格式文件。 4.可以实现其它附加功能(不在要求范围之内)5.界面良好,功能完善二、 系统所采取的简单操作及实现的功能该系统通过引用windows media player插件及基于MFC的基础上完成的。它能够实现音频、视频文件的添加与播放,快进、快退,暂停,停止,全屏,播放模式的改变等功能。推荐精选在运行软件时,可以通过添加文件列表,列表由列表按钮控制,可以实现列表的展开和收缩。在列表区,可以实现对列表的保存与清空,还可以实现歌曲或视频播放的上下移动。在播放控制区,可以实现音量的控制,可实现静音和停止播放,实现顺序、随机、单曲循环播放。还可以实现全屏播

3、放。整个系统简单易操作,可以实现对*.avi,*.mp3,*.wma,*.mp4,*.wmv,* .wax文件播放。三、 主要系统模块概述控件名称类型变量函数IDC_addButtonvoid CMyownplayerDlg:Onadd()IDC_listButtonVoidCMyownplayerDlg: Onlist()IDC_playButtonvoid CMyownplayerDlg:Onplay()IDC_LIST1LISTlistvoid CMyownplayerDlg:OnLIST1()IDC_lastButtonvoid CMyownplayerDlg:Onlast()IDC_

4、nextButtonvoid CMyownplayerDlg:Onnext()IDC_accelateButtonvoid CMyownplayerDlg:Onaccelate()IDC_quitButtonvoid CMyownplayerDlg:Onquit()推荐精选IDC_muteButtonvoid CMyownplayerDlg:Onmute()IDC_saveButtonvoid CMyownplayerDlg:Onsave()IDC_circleButtonvoid CMyownplayerDlg:Oncircle()IDC_fullscreenButtonvoid CMyow

5、nplayerDlg:OnfullscreenIDC_exitButtonvoid CMyownplayerDlg:Onexit()IDC_deleteButtonvoid CMyownplayerDlg:Ondelet()IDC_pauseButtonvoid CMyownplayerDlg:Onpause()IDC_stopButtonvoid CMyownplayerDlg:Onstop()IDC_upperButtonvoid CMyownplayerDlg:Onupper()IDC_lowerButtonvoid CMyownplayerDlg:Onlower()IDC_OCX1四、

6、 系统功能模块详述1.添加void CMyownplayerDlg:Onadd() char szFileFilter=媒体文件(*.avi,*.mp3,*.wma,*.mp4,*.wmv,* .wax )|*.avi;*.mp3;*.wma;*.mp4;*.wmv;*.wax|;CFileDialogdlg(true,NULL,NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT|OFN_NOCHANGEDIR,szFileFilter);POSITION pos=dlg.GetStartPosition();int x1,x2;推荐精选x1=m_list.G

7、etCount();/获取添加之前列表曲目的个数if(dlg.DoModal()=IDOK) while(pos!=NULL) m_pathname=dlg.GetNextPathName(pos); m_list.AddString(m_pathname);x2=m_list.GetCount();/获取添加之后列表曲目的个数 if(x1=0&x20)/若之前列表为空,且成功添加文件之后默认选中第一个文件 m_list.SetCurSel(0);/选择第一行 2.播放void CMyownplayerDlg:Onplay() SetTimer(1,1000,NULL);/点击播放时就创建计时

8、器if(m_list.GetCount()m_list.GetText(m_list.GetCurSel(),m_pathname);m_player.SetUrl(m_pathname);推荐精选elseMessageBox(请选择您至少选择一个您要播放的文件 , );/避免列表中无文件时,点击播放时产生系统警告3列表框void CMyownplayerDlg:OnDblclkList1() CString str;int index=m_list.GetCurSel();m_list.GetText(index,str);m_player.SetUrl(str);m_pathname=st

9、r;4.列表(控制)控制列表展开、收缩首先在BOOL CMyownplayerDlg:OnInitDialog()添加代码:SetWindowPos(NULL,0,0,480,490,SWP_NOMOVE);/无相对移动然后编辑列表button的函数功能:void CMyownplayerDlg:Onlist() flag=!flag;推荐精选if(!flag)SetWindowPos(NULL,0,0,480,490,SWP_NOMOVE);elseSetWindowPos(NULL,0,0,670,490,SWP_NOMOVE);5上一首void CMyownplayerDlg:Onlas

10、t() /上一首 CString str; int index=m_list.GetCurSel(); if(index=m_list.GetCount()-1)index=-1;m_list.GetText(index+1,str);m_player.SetUrl(str);m_list.SetCurSel(index+1);6.下一首void CMyownplayerDlg:Onnext() /下一首 CString str;int index=m_list.GetCurSel(); if(index=0)推荐精选index=m_list.GetCount();m_list.GetText

11、(index-1,str);/下一首m_player.SetUrl(str);m_list.SetCurSel(index-1);7.保存列表void CMyownplayerDlg:Onsave() CStdioFile file;CString strtemp;file.Open(.list.txt,CFile:modeCreate|CFile:modeReadWrite|CFile:typeText);for(int i=0;i)=0)/若显示快进,点击快进,并显示播放m_player.GetControls().fastForward();SetDlgItemText(IDC_acce

12、late,);if(strtemp.Compare()=0)/实现从快进点继续播放,并且显示快进m_player.GetControls().play();SetDlgItemText(IDC_accelate,快进); 推荐精选10.快退void CMyownplayerDlg:Onquit() CString strtemp;GetDlgItemText(IDC_quit,strtemp);/获取按钮上的字符 if(strtemp.Compare(快退)=0)/若显示快退,点击快退,并显示播放m_player.GetControls().fastReverse();SetDlgItemTe

13、xt(IDC_quit,);if(strtemp.Compare()=0)/实现从快进点继续播放,并且显示快退 m_player.GetControls().play();SetDlgItemText(IDC_quit,快退GetCheck()CString str1;int index=m_list.GetCurSel()+1;if(index=m_list.GetCount()index=0;m_list.GetText(index, str1); m_player.SetUrl( str1);m_list.SetCurSel(index);if(CButton*)GetDlgItem(I

14、DC_random)-GetCheck()/随机播放srand(time(0);推荐精选m_list.SetCurSel(rand()%m_list.GetCount(); m_list.GetText(m_list.GetCurSel(),pathname);/解决随机播放后,选中却不能自动续播下一首m_player.SetUrl(pathname); if(CButton*)GetDlgItem(IDC_circle)-GetCheck()/单曲循环m_list.GetText(m_list.GetCurSel(),pathname);m_player.SetUrl(pathname);C

15、Dialog:OnTimer(nIDEvent);16.停止播放void CMyownplayerDlg:Onstop() /实现停止播放m_player.GetControls().stop();KillTimer(1);/退出时删除计数器17.全屏播放void CMyownplayerDlg:Onfullscreen() /全屏m_player.SetFullScreen(1);推荐精选18.退出void CMyownplayerDlg:Onexit() MessageBox( 感谢您的使用!下次再见哦 , );/退出时出现一个消息框CDialog:OnCancel();/?CDialog

16、KillTimer(1);/退出时删除计数器五、 系统运行界面六、 系统调试推荐精选1.列表展开问题在编写控制列表的扩展与收缩的过程中,没有控制好相关尺寸参数,使得界面显示不全。经过反复修改参数,终于实现了列表的正常展开与收缩。2在编写完实现暂停、音量控制函数后,编译发现如下错误:解决方法:根据编译提示,在程序起始处添加#includeWMPControls.h,即可解决问题。3.在实现播放模式模块时,编译后发现错误:解决方法:在my own playerDlg.h中,添加afx_msg void OnTimer(UINT nIDEvent);4.在改完问题3后,编译、运行无错误,但是改变播放

17、模式时,却无法实现顺序、随机、单曲循环功能。发现问题:没有定义时钟解决:在play函数中,创建时钟5.在随机播放中,选中却不能自动播放歌曲解决方法:在随机播放代码中添加:m_list.GetText(m_list.GetCurSel(),pathname); m_player.SetUrl(pathname);6.在功能完善方面:添加完文件后,系统并不能自动选中一个文件,所以此时按播放按钮是无任何反应的,所以对Onadd()函数中对代码做以下改动:推荐精选int x1,x2; x1=m_list.GetCount();/获取添加之前列表曲目的个数 if(dlg.DoModal()=IDOK)

18、while(pos!=NULL) /CString m_pathname=dlg.GetNextPathName(pos); m_pathname=dlg.GetNextPathName(pos); m_list.AddString(m_pathname); x2=m_list.GetCount();/获取添加之后列表曲目的个数 if(x1=0&x20)/若之前列表为空,且成功添加文件之后默认选中第一个文件 m_list.SetCurSel(0);/选择第一行 7之前播放按钮并不能实现播放所选中的歌曲,而且还会发生混乱,在m_player.SetUrl(m_pathname);之前加上m_list.GetText(m_list.GetCurSel(),m_pathname);很好的解决了这个问题,但是当列表为空时,点击播放按钮会产生一下提示:于是对代码做了以下修改:void CMyownplayerDl

温馨提示

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

评论

0/150

提交评论