唐 山 学 院
面向对象程序设计 课 程 设 计
题 目 MP3播放器的设计
系 (部) 计算机科学与技术系
班 级 07 计对本
姓 名 张 悦
学 号 4070207109
指导教师 郭琳虹
2010 年 7 月 12 日至 7 月 16 日 共 1 周
2010年 7 月 16 日
面向对象程序设计 课程设计任务书
一、设计题目、内容及要求
1、设计题目:MP3播放器的设计
2、设计内容及要求:
利用MFC应用程序、媒体控制接口MIC的基本知识,设计一个MP3播放器。要求能够播放常用Windows音频格式的文件;实现播放控制:播放、暂停、停止等;实现音量控制:静音、声音放大减小;实现播放列表管理:加入文件、加入目录、删除文件等功能。 二、要求的设计成果(课程设计说明书、设计实物、图纸等)
1、用Visual C++进行编码,实现应用程序的功能。注重编码质量,代码要有适当的注释;
2、撰写课程设计说明书一份,不少于2000字。课程设计说明书应包括封面、任务书、正文(设计的基本思路、设计的步骤及主要代码解释)、参考文献(资料)、附录(程序代码)等内容。 三、进程安排
7月12日:完成需求分析,确定程序功能,确立程序设计思想;
7月13日~7月14日:进行详细设计,实现编码;
7月15日:进行程序测试,完善编码;撰写设计说明书,准备答辩;
7月16日:答辩。 四、主要参考资料
[1] 王育坚.Visual C++面向对象编程教程.第2版.北京:清华大学出版社,2008
[2] 侯俊杰.深入浅出MFC.第2版.广东:南方出版社,2007
[3] 严华峰 等.Visual C++课程设计案例精编.北京:中国水利水电出版社,2004 指导教师(签名): 教研室主任(签名): 注:可以附页
课程设计成绩评定表
出勤
情况 出勤天数 缺勤天数 成
绩
评
定 出勤情况及设计过程表现(20分) 课设答辩(20分) 设计成果(60分) 总成绩(100分) 提问
(答辩)
问题
情况
综
合
评
定
指导教师签名:
年 月 日
1 引言
MP3播放器的设计是利用MFC应用程序、媒体控制接口MIC的基本知识而设计的。
1.1 MFC简介
MFC是Visual C++是核心。MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,MFC AppWizard向导根据继承性利用MFC派生出自己的类,并对Windows应用程序进行了分解,利用MFC派生类对应用程序重新进行组装,同时还规定了应用程序中各个MFC派生类对象之间的相互联系,实现了标准Windows应用程序的功能,这就是向导生成的所谓MFC应用程序框架。每个MFC类都包括了一些函数,函数放到类中,符合C++编程方法。这些函数,必须通过类定义对象才能使用[1]。
1.2 MCI简介
MCI(Media Control Interface)媒体控制接口是MircroSoft提供的一组多媒体设备和文件的标准接口,它的好处是可以方便地控制绝大多数多媒体设备包括音频、视频、影碟、录像等多媒体设备,而不需要知道它们的内部工作状况。它所支持的媒体格式包括avi、wav、mpeg等等[2]。
音频技术发展较早,几年前一些技术已经成熟并产品化,音频技术主要包括四个方面:音频数字化、语音处理、语音合成及语音识别。
音频文件包括多种格式的文件,MP3就是其中的一种。MP3的全称是Moving Picture Experts Group,Audio Layer Ⅲ,它所使用的技术是在VCD(MPEG-1)的音频压缩技术上发展出的第三代,而不是MPEG-3。MP3是一种音频压缩的国际技术标准,它一般需要MP3播放器来读取。
2 总体设计
2.1 实现功能
MP3播放器主要对常用Windows音频格式的文件实现播放控制:播放歌曲、暂停播放、停止播放等;实现音量控制:静音、声音放大以及声音减小的功能[3]。
2.2 功能模块图
图2-1 系统功能模块图
3 详细设计
3.1 界面布局设计
(1) 创建一个对话框类,类名为Mp3PlayerDlg。
(2) 向对话框中添加Group Box控件、Static Text控件以及按钮控件。
(3) 设置所添加的控件的属性。
系统界面的运行结果图如图3-1所示。
图3-1 系统界面运行结果图
Mp3Player对话框中所用控件的属性描述如表3-1所示。
表3-1 对话框控件ID及其描述
控件ID 描述 IDC_STATIC_INFO_WND Group Box控件,用来显示"信息窗口" IDC_STATIC_INFO Static Text控件,用来显示各种信息 IDC_STATIC_OPERATION Group Box控件,用来显示"操作面板" IDC_BUTTON_OPEN 按钮控件,单击它用来选择歌曲 IDC_BUTTON_PLAY 按钮控件,单击它用来播放歌曲 IDC_BUTTON_PAUSE 按钮控件,单击它用来暂停播放歌曲 IDC_BUTTON_STOP 按钮控件,单击它用来停止播放歌曲 IDC_BUTTON_VOLUME 按钮控件,单击它用来设定音量 IDC_BUTTON_QUIT 按钮控件,单击它用来退出程序 3.2 各模块功能设计
3.2.1 处理"打开"按钮
单击"打开"按钮后,在OnButtonOpen()函数中,首先对文件类型进行过滤,调用DoModa()函数打开对话框选择一个媒体文件,通过GetPathName()函数获取文件路径,通过GetFileName()函数获取文件名后,调用DisplayInfo()函数在Static Text控件上显示"你选择的歌曲是(文件名)",然后利用GetDlgItem()函数设置"暂停"按钮以及"停止"按钮不可用。
3.2.2 处理"播放"按钮
单击"播放"按钮后,在OnButtonPlay()函数中,通过调用MCIMP3类的MCIOpen()函数获取刚才选择的文件路径以及文件名,调用该类的MCIPlay()函数播放歌曲,此时调用DisplayInfo()函数在Static Text控件上显示"正在播放的歌曲是(文件名)",进行歌曲的播放,然后利用GetDlgItem()函数设置"播放"按钮不可用。
3.2.3 处理"暂停"按钮
单击"暂停"按钮后,在OnButtonPause()函数中,首先通过调用MCIMP3类的MCIPause()函数暂停正在播放的歌曲,然后调用DisplayInfo()函数在Static Text控件上显示"暂停播放歌曲(文件名)",此时的歌曲处于暂停时的进度上,利用GetDlgItem()函数设置"播放"按钮可用。
3.2.4 处理"停止"按钮
单击"停止"按钮后,在OnButtonStop()函数中,首先通过调用MCIMP3类的MCIPause()函数停止正在播放的歌曲,然后调用DisplayInfo()函数在Static Text控件上显示"停止播放歌曲(文件名)",将停止正在播放歌曲,利用GetDlgItem()函数设置"暂停"按钮和"停止"按钮不可用。
3.2.5 处理"音量"按钮
单击"音量"按钮后,在OnButtonVolume()函数中,首先调用WinExec()函数并且打开C:/WINDOWS/System32/sndvol32.exe,弹出"主音量"对话框,在此对话框内可以对音量进行增大或减小以及静音的设置。
3.2.6 处理"退出"按钮
单击"退出"按钮后,在OnButtonQuit()函数中,调用CDialog类的OnCancel()函数将退出对话框,结束程序的运行。
4 总结
经过一周的面向对象程序课程设计,我学到了很多。在这一周的实际动手学习中,我对VC++这门课程有了更深刻的认识,掌握了用MFC创建基于对话框的应用程序,同时了解了MCI相关知识。这次课程设计我做了MP3播放器的设计,MP3播放器主要对常用Windows音频格式的文件实现播放控制:播放歌曲、暂停播放、停止播放等;实现音量控制:静音、声音放大以及声音减小的功能。
本次课程设计中虽然可以实现播放、暂停、停止以及音量等功能,但仍然存在着放多不足,比如列表管理的功能以及循环播放功能始终无法实现,如果有时间一定会好好研
上一篇:
基于MFC的音频媒体播放器设计论文
下一篇:
超市进销存管理系统的开发