基于MFC的音乐播放器_第1页
基于MFC的音乐播放器_第2页
基于MFC的音乐播放器_第3页
基于MFC的音乐播放器_第4页
基于MFC的音乐播放器_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、VisualVisual C+C+程序设计课程大作业程序设计课程大作业 题目名称: 基于 MFC 的音乐播放器 系 名 称: 计算机科学与信息工程学院 专业班级: 09 计科应用 2011 年 6 月 目目 录录 一、成员分工 .1 二、需求分析 .2 三、总体设计 .3 四、详细设计 .4 五、系统测试 .11 六、总结 . 13 七、参考文献 .14 一、一、 成员分工成员分工 组长:肖景元 组员:周国庆 徐思勇 组长肖景元:负责整个工程设计的选材和功能的添加以及代码的设计。 周国庆:负责对话框的设计、制作、控件的添加。 徐思勇:负责工程的功能测试与修改。 二、需求分析二、需求分析 我们需

2、要制作一个音乐播放器,具有一般播放 *.mp3,*.wma,*.mdi,*.wav,*.avi,*.dat 等文件,还有具有播放、暂停、重复播放、音量 调节、Repeat 功能等功能。需要解决的问题是向对话框中添加音乐播放的控件,以及各按 键功能的实现。 三、总体设计三、总体设计 1、系统功能模块图(如图一): 基于 MFC 的音乐播放 器 播 放 器 开 关 音 乐 播 放 音 量 增 减 隐 藏 进 度 条 开 启 关 闭 暂 停 播 放 终 止 音 量 加 音 量 减 隐 藏 出 现 图一:系统功能模块图 2、流程图(如图二): 添加音乐 开始 播放暂停 终止 播放结束 退出 图二:系统

3、流程图 四、详细设计四、详细设计 OnOpen 添加音乐 OnPlay 开始播放 OnStop 停止播放 OnPause 暂停播放 OnUpper 音量增加 OnLower 音量降低 OnRepeat 重复播放 OnFulscreeen 全屏播放 OnClose 窗口最小化 相应的添加变量: CRoundButton m_Open; CRoundButton m_Play; CRoundButton m_Stop; CRoundButton m_Close; CRoundButton m_Pause; CRoundButton m_Upper; CRoundButton m_Lower; CR

4、oundButton m_Repeat; CRoundButton m_Exit; CRoundButton m_FullScreen; 详细步骤: 1、建立基于对话框(Dialog Based)的运用程序。 2、在上面添加按钮,ID 和 Caption 分别为 IDC_OPEN,Open; IDC_PLAY,Play; IDC_PAUSE,Pause; IDC_STOP,Stop; IDC_CLOSE,Close; IDC_LOWER,; IDC_FULLSCREEN,Full; IDC_REPEAT,Repeat; 3、再打开 Projects-Add to Project-Compone

5、nts and Controls-Registered ActiveX Controls 对话框,选择其中的 Active Movie Control Object, Insert,OK 之后,你会发 现你的控件面板上多了一项 ActiveMovieControl Object,将它选中,直接放在你的对话框 上就行了。按 Ctrl+W 打开 ClassWizard 为它添加变量 CActiveMovie3 m_ActiveMovie。 4为程序添加消息处理函数。打开 ClassWizard,为各个按钮加入消息处理函数。在 MediaPlayerDlg.cpp 文件里为各消息处理函数添加代码。

6、(1)首先,在 MediaPlayerDlg.h 中添加如下: public: BOOLBOOL flag;flag; CMediaPlayerDlg(CWnd* pParent = NULL);/ standard constructor (2)播放窗口最小化按钮:最小化 void CMediaPlayerDlg:OnClose() if(flag=false) m_ActiveMovie.ShowWindow(SW_HIDE);/关闭窗口 flag=true; else m_ActiveMovie.ShowWindow(SW_SHOW); flag=false; (3)添加音乐按钮: vo

7、id CMediaPlayerDlg:OnOpen() char szFileFilter= Mp3 File(*.mp3)|*.mp3| Wma File(*.wma)|*.wma| Video File(*.dat)|*.dat| Wave File(*.wav)|*.wav| AVI File(*.avi)|*.avi| Movie File(*.mov)|*.mov| Media File(*.mmm)|*.mmm| Mid File(*.mid;*,rmi)|*.mid;*.rmi| MPEG File(*.mpeg)|*.mpeg| All File(*.*)|*.*|;/文件类型

8、过滤 CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter); if(dlg.DoModal()=IDOK) CString PathName=dlg.GetPathName(); PathName.MakeUpper(); m_ActiveMovie.SetFileName(PathName); (4)播放音乐按钮: void CMediaPlayerDlg:OnPlay() m_ActiveMovie.Run();/播放文件 SetTimer(0,20,NULL);/设置定时器 (5)停止播放按钮: void CMedia

9、PlayerDlg:OnStop() m_ActiveMovie.Stop();/停止播放文件 KillTimer(0);/关掉定时器 (6)暂停播放按钮: void CMediaPlayerDlg:OnPause() if(flag=false) m_ActiveMovie.Pause(); flag=true; SetDlgItemText(IDC_PAUSE,播放); else OnPlay(); flag=false; SetDlgItemText(IDC_PAUSE,暂停); (7)音量增加按钮: void CMediaPlayerDlg:OnUpper() long Volume=

10、m_ActiveMovie.GetVolume(); m_ActiveMovie.Pause(); m_ActiveMovie.SetVolume(Volume+100); m_ActiveMovie.Run(); (8)音量降低按钮: void CMediaPlayerDlg:OnLower() long Volume=m_ActiveMovie.GetVolume(); m_ActiveMovie.Pause(); m_ActiveMovie.SetVolume(Volume-100); m_ActiveMovie.Run(); (9)重复播放按钮: void CMediaPlayerDl

11、g:OnRepeat() if(!isRepeat) isRepeat=TRUE; SetDlgItemText(IDC_STATIC2,Status:Repeat); else isRepeat=FALSE; SetDlgItemText(IDC_STATIC2,Status:Normal); (10)全屏按钮: void CMediaPlayerDlg:OnFulscreeen() m_ActiveMovie.Pause(); m_ActiveMovie.SetFullScreenMode(true); m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAX

12、IMIZED); m_ActiveMovie.Run(); 5为使播放器具有 Repeat 功能,需在头文件 MediaPlayerDlg.h 加入控制变量 BOOL isRepeat;类型可为 Private。同时修改 OnInitDialog()函数: BOOL CMediaPlayerDlg:OnInitDialog() CDialog:OnInitDialog(); isRepeat=FALSE; 五、系统测试五、系统测试 1、打开初始程序(如图三): 图三;程序初始界面 2、点击“打开” ,添加播放资源(如图四) 。 图四;音乐库 3、单击“播放” ,开始播放。点击“暂停” ,暂停播

13、放。再次点击“暂停”按钮,继续播放 (如图五) 。 图五;播放 4、单击“终止” ,音乐播放停止,之后单击“播放” ,重头开始播放。 5、单击“最小化” 。播放器消失,再次点击出现。 (如图六) 图六;隐藏进度条 六、总结六、总结 本次实验设计在本组成员团结合作下,终于完成了。仔细回想起实验设计,发现在软 件设计的功能上,我们做的虽没有特别新的功能,但做出的功能都比较实用,做出了一个 音乐播放器所必备的元素,在这一点上还是比较成功的。我们设计的播放器小巧,比较节 省空间。当然,这个播放器也有许多的不足之处,如播放器的功能太少,太过于简单,播 放器的画面太单调,很空洞,当然,这些地方都需要改进,虽然本次试验设计做的不是很 完美,但我们从中获得了很多经验,起码下次再做类似的的设计时更能节省时间且能做的 更好更快。从本次实验设计中,我们学到了很多东西,如在计算机编程设计中,团队合作 是十分重要的:要经常的编写一些程序,这样编写程序

温馨提示

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

评论

0/150

提交评论