音频播放程序的设计与实现.docx
《音频播放程序的设计与实现.docx》由会员分享,可在线阅读,更多相关《音频播放程序的设计与实现.docx(19页珍藏版)》请在冰豆网上搜索。
音频播放程序的设计与实现
音频播放程序的设计与实现
综合程序课程设计说明书
课程设计名称:
综合程序课程设计
课程设计题目:
音频播放程序的设计与实现
学院名称:
信息工程学院
专业:
电子信息工程班级:
学号:
姓名:
评分:
教师:
2012年月日
综合程序课程设计任务书
2014-2015学年第2学期 第1周-2周
题目
音频播放程序的设计与实现
内容及要求
利用VC++开发一个支持wav、mp3、wma等不同音频格式的媒体播放器。
通过课程设计掌握多媒体编程的基本原理。
任务:
1)编程实现一个可支持多种音频格式的媒体播放器,其基本功能包括媒体播放、音量调节、播放进度选择、暂停、停止以及歌曲信息的查询与添加等;
2)给出程序的总体设计和详细设计,要求程序总体架构图、详细设计的流程图,函数、变量说明等
3)给出程序运行、测试的详细结果。
进度安排:
3月1日~3月2日:
利用各种渠道查找资料;
3月3日:
完成需求分析,确定程序功能,确立程序设计思想;
3月4日~3月9日:
进行详细设计,实现编码;
3月10日~3月11日:
进行程序测试,完善编码;撰写设计说明书,准备验收;
3月12日~3月13日:
验收。
学生姓名:
指导时间:
3月3日至3月9日
指导地点:
任务下达
任务完成
考核方式
1.评阅□ 2.答辩□3.实际操作□ 4.其它□
指导教师
系(部)主任
注:
1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。
2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。
摘要
随着现今科学技术的发展,人们生活水平的提高,娱乐已必不可少,人们通过音乐陶冶情操,放松自己,这大大促进了媒体软件的发展.而mp3作为一种小巧,具有良好的音频解码能力,成为了最为广泛使用的音频格式。
而软件市场的媒体播放器有很多,如酷狗音乐。
目前常见的多媒体软件应该说各有特色,但是几乎每一个都存在着不如人意的地方。
本课程设计所做的的播放器是基于MFC集成开发环境,利用系统的MCI(media controller interface)命令接口来编程,具有体积小,支持的播放格式多、系统资源占用少、支持播放列表编辑。
了解播放器的功能实现,掌握播放器开发的相关技术,同时利用软件工程的相关理论知识,了解软件开发的方法与步骤
关键字:
音乐,MCI,播放器
一引言--------------------------------------------------------------------6
1.1MFC简介-------------------------------------------------------------6
1.2MCI简介--------------------------------------------------------------6
二课程设计的目的与要求----------------------------------------------7
2.1目的---------------------------------------------------------------------7
2.2任务----------------------------------------------------------------------7
三课题的需求分析----------------------------------------------------------7
3.1播放器的基本控制需求----------------------------------------7
3.2功能需求------------------------------------------------------------8
四概要设计----------------------------------------------------------------8
五详细设计---------------------------------------------------------------9
六调试与测试分析----------------------------------------------------10
七用户手册--------------------------------------------------------------11
八结论---------------------------------------------------------------------11
九参考文献--------------------------------------------------------------12
十附录---------------------------------------------------------------------13
正文
一.引言
MP3播放器的设计是利用MFC应用程序、媒体控制接口MIC的基本知识而设计的。
1.1MFC简介
MFC是VisualC++是核心。
MFC(MicrosoftFoundationClasses)是微软基础类库的简称,是微软公司实现的一个c++类库,MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,MFCAppWizard向导根据继承性利用MFC派生出自己的类,并对Windows应用程序进行了分解,利用MFC派生类对应用程序重新进行组装,同时还规定了应用程序中各个MFC派生类对象之间的相互联系,实现了标准Windows应用程序的功能,这就是向导生成的所谓MFC应用程序框架。
这样就可以专心的考虑程序的逻辑,而不是这些每次编程都要重复的东西。
1.2MCI简介
MCI是一种接口,MCI是我们只需要使用MCI函数而不必考虑具体的多媒体设备,它的好处是可以方便地控制绝大多数多媒体设备包括音频、视频、影碟、录像等多媒体设备,而不需要知道它们的内部工作状况。
它所支持的媒体格式包括mp3、avi、wav、mpeg等等[2]。
这样程序员不再需要关心具体设备的差异,就可以对激光唱机(CD)、视盘机、波形音频设备、视频播放设备和MIDI设备等媒体设备进行控制。
应用程序通过MCI发送相应的命令来控制媒体设备。
MCI分为命令字符串和命令消息两种,两者具有类似的功能。
命令字符串具有使用简单的特点,但是它的执行效率略低于命令消息。
二.课程设计的目的与要求
2.1目的
利用VC++开发一个支持wav、mp3、wma等不同音频格式的媒体播放器。
通过课程设计掌握多媒体编程的基本原理。
2.2任务
1)编程实现一个可支持多种音频格式的媒体播放器,其基本功能包括媒体播放、音量调节、播放进度选择、暂停、停止以及歌曲信息的查询与添加等;
2)给出程序的总体设计和详细设计,要求程序总体架构图、详细设计的流程图,函数、变量说明等
3)给出程序运行、测试的详细结果。
三.课题的需求分析(数据流图、数据字典)
分析软件设计的目标和任务,确定软件功能和性能需求。
软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。
需求分析就是通过对应用问题及其坏境的分析与理解采用一系列的分析方法和技术将用户的需求逐步精确化、完全化、一致化,最终形成需求规模说明文档的过程。
3.1播放器的基本控制需求
在着手开发系统之前首先要明确该系统应该实现的一些最基本的功能,然后逐步细化,为每个功能创建一个模块,再对各个模块进行开发。
通过分析我们得出一款音乐播放器的基本控制如图
(1)所示:
图
(1):
音乐的基本控制
3.2功能需求
功能需求规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。
功能需求有时也被称作行为需求(behavioralrequirement),因为习惯上总是用“应该”对其进行描述。
功能需求描述开发人员需要实现什么。
本次课程设计要求当用户启动程序进入主界面,用户可以通过添加模块添加本地歌曲。
通过播放列表用户可以实现对歌曲的查找、播放、暂停、音量调节、静音。
通过总结我们知道其功能模块时序图如下图
(2)所示:
图
(2):
音频播放器的功能需求
四.概要设计(系统层次结构图)
概要设计定义软件各主要成份之间的关系。
在需求明确、准备开始编码之前,要做概要设计。
设计软件结构的具体任务是:
将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。
数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。
本程序采用模块化软件设计,自顶向下逐层把软件系统划分成若干模块。
每个模块完成一个特定的功能,最后将所有模块按照某种方法组合成一个整体,达到整个播放器所要求的功能。
本次课程设计的系统结构图如图(3)所示。
图(3):
系统的层次结构图
五.详细设计(程序流程图)
把软件系统结构成份转换成软件的过程性描述(算法),用程序流程图详述主要事件的实现过程。
然后进行编码-----根据这种过程性描述,编写核心源代码。
本次课程设计所做音频播放器不仅要实现对一些常见的音频格式文件的播放,而且还要有友好的用户界面。
其设计目标是:
实现对多种音频格式文件的播放,当前播放曲目长度显示,实现音量控制;播放器软件占用系统资源少、运行平台要求不高、界面美观舒适、操作简单。
主要划分为以下4个功能模块,每个功能模块的作用描述如下:
1)播放控制:
控制歌曲的播放状态,如:
播放、暂停、上一曲、下一曲。
播放过的歌曲按播放顺序排列在播放列表中,每次退出程序、重启播放器后播放列表中的播放记录会自动保存不会清空。
2)文件控制:
主要用来打开本地播放文件。
本音乐播放器支持常见音频格式文件播放如:
MP3、WMA、WAV等。
还有对播放列表进行控制如:
打开文件所在目录、移除列表、删除文件。
3)进度控制:
显示当前歌曲的播放总时长和已播放时长,可以通过鼠标调整歌曲的播放进度,实现歌曲的跳跃式播放。
其实现方式是通过进度条和时间的同步显示。
4)声音控制:
调整歌曲音量的大小。
界面布局设计
(1)创建一个对话框类,类名为CMPlayerDlg。
(2)向对话框中添加GroupBox控件、StaticText控件以及按钮控件。
(3)设置所添加的控件的属性。
系统界面的运行结果如图(4)所示。
图(4):
系统界面的运行结果图
六.调试及测试分析
在课程设计中,常常遇到许许多多的问题,例如有些非控件变量的声明,这经常导致程序运行错误。
这就要在变量声明处重新声明变量,调试过程中要经常使用在错误区域设置断点的方法来看看是否是是这段程序出了问题而不是,别的方面。
七.用户手册
本次课设所设计的程序简单,易用,跟大多数音频软件一样。
在启动程序是需要按添加音乐按钮添加自己喜欢的音乐,然后选择相应的歌曲,模式,点击播放,美妙的音乐就喷薄而出了,在主界面还可以进行跳跃式听歌,音量控制等各种操作。
简而言之此款软件操作简单,集小巧,易用于一身。
八.结论
经过为期两周的综合程序课程设计,我学到了很多。
我对VC++这门课程有了更深刻的认识,对用MFC创建基于对话框的应用程序更加熟悉,同时了解了MCI相关知识。
本次课程设计中虽然可以实现播放、暂停、停止、播放界