您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 基于MFC的音乐播放器
VisualC++程序设计课程大作业题目名称:基于MFC的音乐播放器系名称:计算机科学与信息工程学院专业班级:09计科应用2011年6月目录一、成员分工....................................................1二、需求分析....................................................2三、总体设计....................................................3四、详细设计....................................................4五、系统测试...................................................11六、总结......................................................13七、参考文献...................................................141一、成员分工组长:肖景元组员:周国庆徐思勇组长肖景元:负责整个工程设计的选材和功能的添加以及代码的设计。周国庆:负责对话框的设计、制作、控件的添加。徐思勇:负责工程的功能测试与修改。2二、需求分析我们需要制作一个音乐播放器,具有一般播放*.mp3,*.wma,*.mdi,*.wav,*.avi,*.dat等文件,还有具有播放、暂停、重复播放、音量调节、Repeat功能等功能。需要解决的问题是向对话框中添加音乐播放的控件,以及各按键功能的实现。3三、总体设计1、系统功能模块图(如图一):图一:系统功能模块图2、流程图(如图二):图二:系统流程图添加音乐开始播放暂停终止播放结束退出基于MFC的音乐播放器播放器开关音乐播放音量增减隐藏进度条开启关闭暂停播放终止音量加音量减隐藏出现4四、详细设计OnOpen添加音乐OnPlay开始播放OnStop停止播放OnPause暂停播放OnUpper音量增加OnLower音量降低OnRepeat重复播放OnFulscreeen全屏播放OnClose窗口最小化相应的添加变量:CRoundButtonm_Open;CRoundButtonm_Play;CRoundButtonm_Stop;CRoundButtonm_Close;CRoundButtonm_Pause;CRoundButtonm_Upper;CRoundButtonm_Lower;CRoundButtonm_Repeat;CRoundButtonm_Exit;CRoundButtonm_FullScreen;详细步骤:1、建立基于对话框(DialogBased)的运用程序。2、在上面添加按钮,ID和Caption分别为IDC_OPEN,Open;IDC_PLAY,Play;IDC_PAUSE,Pause;5IDC_STOP,Stop;IDC_CLOSE,Close;IDC_LOWER,=;IDC_UPPER,=;IDC_FULLSCREEN,Full;IDC_REPEAT,Repeat;3、再打开Projects-AddtoProject-ComponentsandControls-RegisteredActiveXControls对话框,选择其中的ActiveMovieControlObject,Insert,OK之后,你会发现你的控件面板上多了一项ActiveMovieControlObject,将它选中,直接放在你的对话框上就行了。按Ctrl+W打开ClassWizard为它添加变量CActiveMovie3m_ActiveMovie。4.为程序添加消息处理函数。打开ClassWizard,为各个按钮加入消息处理函数。在MediaPlayerDlg.cpp文件里为各消息处理函数添加代码。(1)首先,在MediaPlayerDlg.h中添加如下:public:BOOLflag;CMediaPlayerDlg(CWnd*pParent=NULL);//standardconstructor(2)播放窗口最小化按钮:最小化voidCMediaPlayerDlg::OnClose(){if(flag==false){m_ActiveMovie.ShowWindow(SW_HIDE);//关闭窗口flag=true;6}else{m_ActiveMovie.ShowWindow(SW_SHOW);flag=false;}}(3)添加音乐按钮:voidCMediaPlayerDlg::OnOpen(){charszFileFilter[]=Mp3File(*.mp3)|*.mp3|WmaFile(*.wma)|*.wma|VideoFile(*.dat)|*.dat|WaveFile(*.wav)|*.wav|AVIFile(*.avi)|*.avi|MovieFile(*.mov)|*.mov|MediaFile(*.mmm)|*.mmm|MidFile(*.mid;*,rmi)|*.mid;*.rmi|MPEGFile(*.mpeg)|*.mpeg|AllFile(*.*)|*.*||;//文件类型过滤CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);7if(dlg.DoModal()==IDOK){CStringPathName=dlg.GetPathName();PathName.MakeUpper();m_ActiveMovie.SetFileName(PathName);}}(4)播放音乐按钮:voidCMediaPlayerDlg::OnPlay(){m_ActiveMovie.Run();//播放文件SetTimer(0,20,NULL);//设置定时器}(5)停止播放按钮:voidCMediaPlayerDlg::OnStop(){m_ActiveMovie.Stop();//停止播放文件KillTimer(0);//关掉定时器}(6)暂停播放按钮:voidCMediaPlayerDlg::OnPause(){if(flag==false)8{m_ActiveMovie.Pause();flag=true;SetDlgItemText(IDC_PAUSE,播放);}else{OnPlay();flag=false;SetDlgItemText(IDC_PAUSE,暂停);}}(7)音量增加按钮:voidCMediaPlayerDlg::OnUpper(){longVolume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume+100);m_ActiveMovie.Run();}(8)音量降低按钮:voidCMediaPlayerDlg::OnLower(){9longVolume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume-100);m_ActiveMovie.Run();}(9)重复播放按钮:voidCMediaPlayerDlg::OnRepeat(){if(!isRepeat){isRepeat=TRUE;SetDlgItemText(IDC_STATIC2,Status:Repeat);}else{isRepeat=FALSE;SetDlgItemText(IDC_STATIC2,Status:Normal);}}(10)全屏按钮:voidCMediaPlayerDlg::OnFulscreeen(){m_ActiveMovie.Pause();m_ActiveMovie.SetFullScreenMode(true);10m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED);m_ActiveMovie.Run();}5.为使播放器具有Repeat功能,需在头文件MediaPlayerDlg.h加入控制变量BOOLisRepeat;类型可为Private。同时修改OnInitDialog()函数:BOOLCMediaPlayerDlg::OnInitDialog(){CDialog::OnInitDialog();isRepeat=FALSE;……}11五、系统测试1、打开初始程序(如图三):图三;程序初始界面2、点击“打开”,添加播放资源(如图四)。图四;音乐库123、单击“播放”,开始播放。点击“暂停”,暂停播放。再次点击“暂停”按钮,继续播放(如图五)。图五;播放4、单击“终止”,音乐播放停止,之后单击“播放”,重头开始播放。5、单击“最小化”。播放器消失,再次点击出现。(如图六)图六;隐藏进度条13六、总结本次实验设计在本组成员团结合作下,终于完成了。仔细回想起实验设计,发现在软件设计的功能上,我们做的虽没有特别新的功能,但做出的功能都比较实用,做出了一个音乐播放器所必备的元素,在这一点上还是比较成功的。我们设计的播放器小巧,比较节省空间。当然,这个播放器也有许多的不足之处,如播放器的功能太少,太过于简单,播放器的画面太单调,很空洞,当然,这些地方都需要改进,虽然本次试验设计做的不是很完美,但我们从中获得了很多经验,起码下次再做类似的的设计时更能节省时间且能做的更好更快。从本次实验设计中,我们学到了很多东西,如在计算机编程设计中,团队合作是十分重要的:要经常的编写一些程序,这样编写程序时才能很灵活。14七、参考文献郑阿奇丁有和编著visualC++教程(第2版).机械工业出版社.2008年8月.候俊杰编著深入浅出MFC(第二版).华中科技大学出版社.2001年1月.DavidJ.KruglinskiVisualC++技术内幕(第四版).清华大学出版社.1999年1月.孙鑫余安萍编著vc++深入详解.电子工业出版社.2006年6月.
本文标题:基于MFC的音乐播放器
链接地址:https://www.777doc.com/doc-1891973 .html