基于MFC的音乐播放器Word文档格式.docx
- 文档编号:19403817
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:10
- 大小:188.26KB
基于MFC的音乐播放器Word文档格式.docx
《基于MFC的音乐播放器Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于MFC的音乐播放器Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
负责工程的功能测试与修改。
二、需求分析
我们需要制作一个音乐播放器,具有一般播放*.mp3,*.wma,*.mdi,*.wav,*.avi,*.dat等文件,还有具有播放、暂停、重复播放、音量调节、Repeat功能等功能。
需要解决的问题是向对话框中添加音乐播放的控件,以与各按键功能的实现。
三、总体设计
1、系统功能模块图(如图一):
图一:
系统功能模块图
2、流程图(如图二):
图二:
系统流程图
四、详细设计
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;
IDC_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;
}
else
m_ActiveMovie.ShowWindow(SW_SHOW);
flag=false;
}
(3)添加音乐按钮:
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);
if(dlg.DoModal()==IDOK){
CStringPathName=dlg.GetPathName();
PathName.MakeUpper();
m_ActiveMovie.SetFileName(PathName);
(4)播放音乐按钮:
OnPlay()
m_ActiveMovie.Run();
//播放文件
SetTimer(0,20,NULL);
//设置定时器
(5)停止播放按钮:
OnStop()
m_ActiveMovie.Stop();
//停止播放文件
KillTimer(0);
//关掉定时器
(6)暂停播放按钮:
OnPause()
m_ActiveMovie.Pause();
SetDlgItemText(IDC_PAUSE,"
播放"
);
OnPlay();
暂停"
(7)音量增加按钮:
OnUpper()
longVolume=m_ActiveMovie.GetVolume();
m_ActiveMovie.Pause();
m_ActiveMovie.SetVolume(Volume+100);
(8)音量降低按钮:
OnLower()
m_ActiveMovie.SetVolume(Volume-100);
(9)重复播放按钮:
voidCMediaPlayerDlg:
OnRepeat()
if(!
isRepeat){
isRepeat=TRUE;
SetDlgItemText(IDC_STATIC2,"
Status:
Repeat"
}
else{
isRepeat=FALSE;
Normal"
(10)全屏按钮:
OnFulscreeen()
m_ActiveMovie.SetFullScreenMode(true);
m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED);
5.为使播放器具有Repeat功能,需在头文件MediaPlayerDlg.h加入控制变量BOOLisRepeat;
类型可为Private。
同时修改OnInitDialog()函数:
BOOLCMediaPlayerDlg:
OnInitDialog()
CDialog:
OnInitDialog();
……
五、系统测试
1、打开初始程序(如图三):
图三;
程序初始界面
2、点击“打开”,添加播放资源(如图四)。
图四;
音乐库
3、单击“播放”,开始播放。
点击“暂停”,暂停播放。
再次点击“暂停”按钮,继续播放(如图五)。
图五;
播放
4、单击“终止”,音乐播放停止,之后单击“播放”,重头开始播放。
5、单击“最小化”。
播放器消失,再次点击出现。
(如图六)
图六;
隐藏进度条
六、总结
本次实验设计在本组成员团结合作下,终于完成了。
仔细回想起实验设计,发现在软件设计的功能上,我们做的虽没有特别新的功能,但做出的功能都比较实用,做出了一个音乐播放器所必备的元素,在这一点上还是比较成功的。
我们设计的播放器小巧,比较节省空间。
当然,这个播放器也有许多的不足之处,如播放器的功能太少,太过于简单,播放器的画面太单调,很空洞,当然,这些地方都需要改进,虽然本次试验设计做的不是很完美,但我们从中获得了很多经验,起码下次再做类似的的设计时更能节省时间且能做的更好更快。
从本次实验设计中,我们学到了很多东西,如在计算机编程设计中,团队合作是十分重要的:
要经常的编写一些程序,这样编写程序时才能很灵活。
七、参考文献
阿奇丁有和编著visualC++教程(第2版).机械工业.2008年8月.
候俊杰编著深入浅出MFC(第二版).华中科技大学.2001年1月.
David
J.Kruglinski
VisualC++技术幕(第四版).清华大学.
1999年1月.
鑫余安萍编著vc++深入详解.电子工业.2006年6月.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MFC 音乐 播放
![提示](https://static.bdocx.com/images/bang_tan.gif)