资源描述:
《基于mfc的音乐播放器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、VisualC++程序设计课程大作业题目名称:基于MFC的音乐播放器系名称:计算机科学与信息工程学院专业班级:09计科应用2011年6月目录一、成员分工1二、需求分析2三、总体设计3四、详细设计4五、系统测试11六、总结..13七、参考文献14一、成员分工组长:肖景元组员:周国庆徐思勇组长肖景元:负责整个工程设计的选材和功能的添加以及代码的设计。周国庆:负责对话框的设计、制作、控件的添加。徐思勇:负责工程的功能测试与修改。二、需求分析我们需要制作一个音乐播放器,具有一般播放*.mp3,*.wma,*.mdi,*.wav,*.avi,*.
2、dat等文件,还有具有播放、暂停、重复播放、音量调节、Repeat功能等功能。需要解决的问题是向对话框中添加音乐播放的控件,以及各按键功能的实现。三、总体设计1、系统功能模块图(如图一):基于MFC的音乐播放器播放器开关音乐播放音量增减隐藏进度条开启关闭暂停播放终止音量加音量减隐藏出现图一:系统功能模块图2、流程图(如图二):添加音乐开始播放暂停终止播放结束退出图二:系统流程图四、详细设计OnOpen添加音乐OnPlay开始播放OnStop停止播放OnPause暂停播放OnUpper音量增加OnLower音量降低OnRepeat重复播放
3、OnFulscreeen全屏播放OnClose窗口最小化相应的添加变量:CRoundButtonm_Open;CRoundButtonm_Play;CRoundButtonm_Stop;CRoundButtonm_Close;CRoundButtonm_Pause;CRoundButtonm_Upper;CRoundButtonm_Lower;CRoundButtonm_Repeat;CRoundButtonm_Exit;CRoundButtonm_FullScreen;详细步骤:1、建立基于对话框(DialogBased)的运用程序。
4、2、在上面添加按钮,ID和Caption分别为IDC_OPEN,Open;IDC_PLAY,Play;IDC_PAUSE,Pause;IDC_STOP,Stop;IDC_CLOSE,Close;IDC_LOWER,<<=;IDC_UPPER,=>>;IDC_FULLSCREEN,Full;IDC_REPEAT,Repeat;3、再打开Projects->AddtoProject->ComponentsandControls->RegisteredActiveXControls对话框,选择其中的ActiveMovieControlObje
5、ct,Insert,OK之后,你会发现你的控件面板上多了一项ActiveMovieControlObject,将它选中,直接放在你的对话框上就行了。按Ctrl+W打开ClassWizard为它添加变量CActiveMovie3m_ActiveMovie。4.为程序添加消息处理函数。打开ClassWizard,为各个按钮加入消息处理函数。在MediaPlayerDlg.cpp文件里为各消息处理函数添加代码。(1)首先,在MediaPlayerDlg.h中添加如下:public:BOOLflag;CMediaPlayerDlg(CWnd*p
6、Parent=NULL);//standardconstructor(2)播放窗口最小化按钮:最小化voidCMediaPlayerDlg::OnClose(){if(flag==false){m_ActiveMovie.ShowWindow(SW_HIDE);//关闭窗口flag=true;}else{m_ActiveMovie.ShowWindow(SW_SHOW);flag=false;}}(3)添加音乐按钮:voidCMediaPlayerDlg::OnOpen(){charszFileFilter[]="Mp3File(*.m
7、p3)
8、*.mp3
9、""WmaFile(*.wma)
10、*.wma
11、""VideoFile(*.dat)
12、*.dat
13、""WaveFile(*.wav)
14、*.wav
15、""AVIFile(*.avi)
16、*.avi
17、""MovieFile(*.mov)
18、*.mov
19、""MediaFile(*.mmm)
20、*.mmm
21、""MidFile(*.mid;*,rmi)
22、*.mid;*.rmi
23、""MPEGFile(*.mpeg)
24、*.mpeg
25、""AllFile(*.*)
26、*.*
27、
28、";//文件类型过滤CFileDialogdlg(TRUE,NULL,
29、NULL,OFN_HIDEREADONLY,szFileFilter);if(dlg.DoModal()==IDOK){CStringPathName=dlg.GetPathName();PathName.