h
课程设计说明书
课程设计名称 软件综合课程设计
课程设计题目 音频播放器程序的设计与实现学院名称 信息工程学院
专业 电子信息工程 班级 110414班
学号 11041424 姓名 刘日华
评分 教师 刘洪武
20 14年2 月 22 日
W
h
电子信息工程专业课程设计任务书
20132014学年第2学期 第1周2周
正文
W
h
目录
引言…………………………………………………. .5
一、设计程序的目的与要求…………………. . . . . . . . .6
目的……………………………………………. . . . . . .6
要求…………………………………………………6
二、方案实现与调试………………………………6
总体设计………………………………………….6
1、实现功能………………………………………6
2、功能模块图…………………………………. .7
详细设计………………………………………….7
1、界面布局………………………………………7
2、各模块功能设计………………………………8
2.1处理“打开”按钮………………………………. .9
2.2处理“播放”按钮……………………………….9
2.3处理“暂停”按钮………………………………. .9
2.4处理“停止”按钮………………………………. .9
2.5处理“音量”按钮…………………………………10
2.6处理“退出”按钮………………………………. . .10
3操作步骤……………………………………….10
三、课程设计分析与总结……………………….11
分析…………………………………………. .11
W
h
总结…………………………………………. . .11
附录……………………………………………….13
关键程序清单…………………………………13
参考文献………………………………………20
引言
MP3播放器的设计是利用MFC应用程序、媒体控制接口MIC的基本知识而设计的。
1.1 MFC简介
MF C是Visual C++是核心。MF C类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装MFC AppWizard向导根据继承性利用MFC派生出自己的类并对Wind o ws应用程序进行了分解利用MFC派生类对应用程序重新进行组装 同时还规定了应用程序中各个MFC派生类对象之间的相互联系实现了标准Windo ws应用程序的功能这就是向导生成的所谓MFC应用程序框架。每个MFC类都包括了一些函数函数放到类中符合C++编程方法。这些函数必须通过类定义对象才能使用
W
h
[1]
。
1.2 MCI简介
MC I Media C ontro l Interfac e媒体控制接口是Mircro S o ft提供的一组多媒体设备和文件的标准接口它的好处是可以方便地控制绝大多数多媒体设备包括音频、视频、影碟、录像等多媒体设备而不需要知道它们的内部工作状况。它所支持的媒体格式包括mp 3、 avi、wav、mp eg等等。
音频技术发展较早几年前一些技术已经成熟并产品化音频技术主要包括四个方面音频数字化、语音处理、语音合成及语音识别。
音频文件包括多种格式的文件MP3就是其中的一种。MP3的全称是Moving Picture Exp erts GroupAudio LayerⅢ它所使用的技术是在VC D(MP EG-1)的音频压缩技术上发展出的第三代而不是MPEG-3。MP 3是一种音频压缩的国际技术标准它一般需要MP 3播放器来读取。
一、课程设计的目的与要求
1、 目的
利用VC++开发一个支持w av、mp 3、w ma等不同音频格式的媒体播放器。通过课程设计掌握多媒体编程的基本原理。
2、任务
W
h
1 编程实现一个可支持多种音频格式的媒体播放器其基本功能包括媒体播放、音量调节、播放进度选择、暂停、停止以及歌曲信息的查询与添加等
2 给出程序的总体设计和详细设计要求程序总体架构图、详细设计的流程图 函数、变量说明等
3 给出程序运行、测试的详细结果。
二、方案实现与调试
总体设计
1实现功能
MP 3播放器主要对常用Windo ws音频格式的文件实现播放控制播放歌曲、暂停播放、停止播放等实现音量控制静音、声音放大以及声音减小的功能。
2功能模块图
W
h
图-1系统功能模块图
详细设计
1界面布局设计
(1)创建一个对话框类类名为Mp 3PlayerDlg。
(2)向对话框中添加Group Box控件、Static Text控件以及按钮控件。
(3)设置所添加的控件的属性。
系统界面的运行结果图如图-2所示。
W
图-2系统界面运行结果图
Mp3Player对话框中所用控件的属性描述如表-1所示。
表-1对话框控件ID及其描述
控件ID 描述
IDC_STATIC_INFO_WND Group Box控件用来显示“信息窗口”IDC_STATIC_INFO Static Text控件用来显示各种信息IDC_STATIC_OPERATION Group Box控件用来显示“操作面板”IDC_BUTTON_O PEN 按钮控件单击它用来选择歌曲IDC_BUTTON_PLAY 按钮控件单击它用来播放歌曲IDC_BUTTON_PAUSE 按钮控件单击它用来暂停播放歌曲IDC_B UTTON_S TO P 按钮控件单击它用来停止播放歌曲IDC_BUTTON_VO LUM E 按钮控件单击它用来设定音量IDC_BUTTON_QUIT 按钮控件单击它用来退出程序
2各模块功能设计
2.1处理“打开”按钮
W
h
单击“打开”按钮后在O nButto nOp en()函数中,首先对文件类型进行过滤调用DoMo da()函数打开对话框选择一个媒体文件通过G etP athName()函数获取文件路径通过G etF ileName()函数获取文件名后调用Disp layInfo()函数在S tatic Text控件上显示“你选择的歌曲是文件名”然后利用G etDlgIt em()函数设置“暂停”按钮以及“停止”按钮不可用。
2.2处理“播放”按钮
单击“播放”按钮后在OnButtonP lay()函数中通过调用MC IMP 3类的MC IOp en()函数获取刚才选择的文件路径以及文件名调用该类的MC IP lay()函数播放歌曲此时调用Dis p layInfo()函数在S tatic Text控件上显示“正在播放的歌曲是文件名”进行歌曲的播放然后利用GetDlgIt em()函数设置“播放”按钮不可用。
2.3处理“暂停”按钮
单击“暂停”按钮后在OnButtonP aus e()函数中首先通过调用MC IMP 3类的MC IP aus e()函数暂停正在播放的歌曲然后调用D is p layI nfo()函数在S tatic Text控件上显示“暂停播放歌曲文件名”此时的歌曲处于暂停时的进度上利用GetDlgItem()函数设置“播放”按钮可用。
2.4处理“停止”按钮
单击“停止”按钮后在O nButto nS top()函数中首先通过调用MC IMP 3类的MC IP aus e()函数停止正在播放的歌曲然后调用D is p layI nfo()函数在S tatic Text控件上显示
W
hostkvm怎么样?hostkvm是一家国内老牌主机商家,商家主要销售KVM架构的VPS,目前有美国、日本、韩国、中国香港等地的服务,站长目前还持有他家香港CN2线路的套餐,已经用了一年多了,除了前段时间香港被整段攻击以外,一直非常稳定,是做站的不二选择,目前商家针对香港云地和韩国机房的套餐进行7折优惠,其他套餐为8折,商家支持paypal和支付宝付款。点击进入:hostkvm官方网站地址hos...
随着自媒体和短视频的发展,确实对于传统的PC独立网站影响比较大的。我们可以看到云服务器商家的各种促销折扣活动,我们也看到传统域名商的轮番新注册和转入的促销,到现在这个状态已经不能说这些商家的为用户考虑,而是在不断的抢夺同行的客户。我们看到Namecheap商家新注册域名和转入活动一个接一个。如果我们有需要新注册.COM域名的,只需要5.98美元。优惠码:NEWCOM598。同时有赠送2个月免费域名...
昨天,遇到一个网友客户告知他的网站无法访问需要帮他检查到底是什么问题。这个同学的网站是我帮他搭建的,于是我先PING看到他的网站是不通的,开始以为是服务器是不是出现故障导致无法打开的。检查到他的服务器是有放在SugarHosts糖果主机商中,于是我登录他的糖果主机后台看到服务器是正常运行的。但是,我看到面板中的IP地址居然是和他网站解析的IP地址不同。看来官方是有更换域名。于是我就问 客服到底是什...