1课程设计说明书题目:音频播放器成绩:时间:年月日至年月日2课程设计任务书题目音频播放器主要内容:音频播放器,是目前用户选择播放任意格式的音频文件的软件,如酷狗、QQ音乐等。一般的音频播放器,都可以支持MP3、wave、AU、VOC等文件格式的播放。在此次设计的音频播放其中,可以实现对音频文件的打开、播放、暂停、停止、上一曲/下一曲、歌词显示等操作。对于播放器的界面,可以最小化,并显示到托盘。处于最小化的状态下,依然可以对正在播放的文件进行上述操作。在此播放器中,最具特点的是在各个操作按钮以及整个界面上添加了位图和能将窗口最小化。播放器窗口的建立,也有区别与传统的有菜单显示的窗口。最小化到托盘后,仍可以进行操作,也可以选择退出。对于实现播放、停止、上一曲/下一曲、添加文件,都是利用CMidi这个类来存放实现这些功能的函数。需要的时候调用就可以。为了是界面更美观,让人看起来更舒服,加入了位图背景。目前还没有实现用户根据自己的喜好来更改背景图案。主要参考资料:[1]姬涛、周启生,《计算机程序设计基础(上册)》[Z],北京:中国传媒大学出版社,2010[2]谭浩强,《C程序设计教程》[Z],北京:清华大学出版社,2007[3]任哲,《MFCWindows应用程序设计(第二版)》[Z],北京:清华大学出版社,2007完成期限:指导教师签名:课程负责人签名:年月日摘要音频播放器,是目前用户选择播放任意格式的音频文件的软件,如酷狗、QQ音3乐等。一般的音频播放器,都可以支持MP3、wave、AU、VOC等文件格式的播放。在此次设计的音频播放其中,可以实现对音频文件的打开、播放、暂停、停止、上一曲/下一曲、歌词显示等操作。对于播放器的界面,可以最小化,并显示到托盘。处于最小化的状态下,依然可以对正在播放的文件进行上述操作。在此播放器中,最具特点的是在各个操作按钮以及整个界面上添加了位图和能将窗口最小化。播放器窗口的建立,也有区别与传统的有菜单显示的窗口。最小化到托盘后,仍可以进行操作,也可以选择退出。对于实现播放、停止、上一曲/下一曲、添加文件,都是利用CMidi这个类来存放实现这些功能的函数。需要的时候调用就可以。为了是界面更美观,让人看起来更舒服,加入了位图背景。目前还没有实现用户根据自己的喜好来更改背景图案。通过这次课程设计,更加巩固了我们所学的知识。目录摘要..............................................................II第一章课题背景和概述.............................................141.1课题背景..................................................11.1.1音频播放器简介........................................11.1.2目的和意义...........................................11.2课题概述...................................................11.2.1功能简介..............................................11.2.2主要工作和理论依据...................................1第二章设计简介及设计方案论述.....................................32.1需求分析...................................................32.2系统功能及结构简介.........................................32.2.1系统功能..............................................32.2.2系统结构...............................................3第三章详细设计...................................................43.1界面设计...................................................43.1.1播放器界面设计........................................43.1.2按钮上的位图显示.......................................53.2各模块功能设计..............................................63.2.1各按钮功能的实现.......................................63.2.2最小化到托盘...........................................73.2.3进度条显示............................................7第四章设计结果及分析...............................................84.1运行结果显示...............................................84.1.1打开文件并播放..........................................84.1.2最小化.................................................84.1.3歌词显示................................................94.2结果分析和不足..............................................9总结...........................................................10致谢...........................................................11参考文献..........................................................12附录...........................................................13第一章课题背景和概述1.1课题背景1.1.1音频播放器简介5音频播放器(audioplayer)是一种可储存、组织与播放音讯档案格式的装置。常被称为“MP3播放器”(因为MP3格式的普遍性),它可以播放很多其他的格式,如WMA,AAC,WAV等。一些格式会跟有限制性的技术DRM合并,比如Janus和FairPlay,一般是一些付费下载网站的一部分。其它一些格式则是完全的专利自由或者在另外一些方面开放,比如OggVorbis,FLAC,Speex(Ogg开放多媒体工程的所有部分),以及Modulefile格式。1.1.2目的和意义通过独立设计完成制作一个播放器软件,更加理解了MFC单文档和多文档程序的构成框架,以及各个类之间数据传递的关系。同时,对鼠标和键盘的多消息响应有了进一步的认识。在设计制作的过程中,C++语言是基础,在熟悉MFCWindows程序设计的同时,也复习了C++程序语言设计。1.2课题概述1.2.1功能简介本次设计完成的播放器软件,能够支持播放多种格式的音频文件,常见的如MP3,WMA,AAC,WAV等。对正在播放的歌曲,可以进行暂停、停止的操作,也可以任意添加歌曲并选择播放。此播放器也可以最小化和最小化到托盘,方便用户在播放音乐的时候,免受打扰。也可以在最小化到托盘的状态下,退出播放器。本次课程设计,主要是检验这一学期,我们通过对MFCWindows应用程序设计这门课学习,能够把所学的知识应用到实际的能力。1.2.2主要工作和理论依据MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,MFCAppWizard向导根据继承性利用MFC派生出自己的类,并对Windows应用程序进行了分解,利用MFC派生类对应用程序重新进行组装,同时还规定了应用程序中各个MFC派生类对象之间的相互联系,实现了标准Windows应用程序的功能,这就是向导生成的所谓MFC应用程序框架。每个MFC类都包括了一些函数,函数放到类中,符合C++编程方法。这些函数,必须通过类定义对象才能使用。在本次设计中,首先,理清课程设计和编写程序的思路,明确程序中所要用到的函数,并做好了解。然后,再利用C++类的继承与派生原理来构造所需要的类,编写实现每项功能的详细代码。利用MFC提供的菜单资源来创建菜单,通过类向导建立类,函数,或者消息响应,来实现播放器的各种功能。采用不同的Windows提供的坐标系统和对话框资源,并利用设备环境来绘制和更新图形,使播放器的界面更加美观,实现较好的人机交互界面。6第二章设计简介及设计方案论述2.1需求分析随着社会的发展,有越来越多的人接触电脑,也有越来越多的人喜欢在上网、工作的时候,播放一点音乐,娱乐一下,缓解一下。所以,应运而生的是音频播放7器软件,能够为用户播放常见的格式音频文件。并且,在使用的过程中,也尽可能设计出一些人性化的设计。比如,能最小化到托盘并可以进行操作。良好的人机交互界面,也能给人以美好的感官享受。2.2系统功能及结构简介2.2.1系统功能此音频播放器可以播放多格式的音频文件。在播放的时候,需要打开本地的音乐文件,选择想要打开的文件,点击播放便可以播放。在播放的过程中,如果有事离开想要停止播放,可以点击暂停按钮,等到需要的时候,仍然可以点击播放,继续播放。如果需要退出,点击关闭按钮即可。如果是出于最小化到托盘的状态,点击右键选择退出即可。如果想换首歌,点击下一首或者上一首的按钮便可以了。对于想详细了解歌曲歌词内容,点击界面上的“歌词按钮”,便可以显示歌词。为了能够让在进行其它操作的用户不受打扰,可以将此播放器最小化到托盘。与此同时,用户依然能够通过点击鼠标右键进行相关的操作。2.2.2系统结构此播放器编写的时候,利用的是MFC单文档程序的构成框架,然后再利用Windows提供的资源,运用控件,自己制作了对话框和人机交互界面。在制作界面的同时,也制作了各个按钮,并完成各个按钮的消息响应,便完成响应函数实现了功能。第三章详细设计3.1界面设计3.1.1播放器界面设计8此播放器的界面是利用控件和位图的结合制作出来了。打开VCC++6.0新建一个工程,选择单文档。便生成了一个窗口。然后打开ResouceView,点开Dialog,插入Dialog,利用控件,绘制各个按钮。为了使各个按钮更加美观,使用位图,用自己收集的图片将各个按钮覆盖,最后添加消息响应函数,实现各个功能。为了使所引入的位图能够和所绘制的窗口能完全吻合,在OnPaint()函数中,调用StretchBlt()函数,让其从源矩形中复制一个位图到目标矩形,必要时按目前目标设备设置的模式进行图像的拉伸或压缩。图3-1按钮控制最后生成的界面比较美观,给人的感觉良好图3.2播放器界面3.1.2按钮上的位图显示为对话框添加9个按钮(Button),在Styles标签中选中Bitmap属性。将它们的ID分别为IDC_Play,IDC_Stop_BUTTON,IDC_Next_BUTTON,IDC_Pre_BUTTON,IDC_Add_Song,IDC_Delet_Song,IDC_GC_BUTTON,IDC_MinWindow,ID_CloseWindow以实现对文件的各项操作。将5幅准备好的位图加入资源,其ID分别设为IDC_Play,IDC_Stop_BUTTON,IDC_Next_BUTTO