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