基于VC++MP3播放器的课程设计(共25页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于VC++MP3播放器的课程设计(共25页).doc》由会员分享,可在线阅读,更多相关《基于VC++MP3播放器的课程设计(共25页).doc(25页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上河南科技大学课 程 设 计 说 明 书课程名称 面向对象程序课程设计 题 目 MP3仿真程序设计 院 系 电子信息工程学院 班 级 学生姓名 指导教师 刘中华、张晓玲、李艳霞 日 期 2013.3.32013.3.17 课程设计任务书课程设计题目MP3仿真程序设计姓名学号专业班级组别组长同组成员 指导教师刘中华、张晓玲、李艳霞课程设计目的通过本课程设计,使学生巩固面向对象程序设计的基本概念、原理和技术,学会使用C+语言进行简单程序的开发,将理论与实际相结合,完成一个小型程序的设计与实现,并在此基础上强化学生的实践意识,提高其实际动手能力和创新能力。课程设计环境硬件:装
2、有Windows操作系统的计算机软件:Visual C+6.0课程设计任务和要求任务要求:1根据实际MP3的运行状况进行需求分析;2抽象MP3运行算法;3设计MP3运行程序及人机交互界面;4模块功能满足要求、界面友好、具有一定的健壮性;5撰写出符合要求的课程设计报告。参考文献1郑秋生、吴庆涛,C/C+程序设计,北京:电子工业出版社2谭浩强C+程序设计,北京:清华大学出版社时 间 进 度 安 排序号起止日期工 作 内 容13.4-3.5学生熟悉题目背景,查阅资料23.6-3.13学生进行功能模块设计、编码、测试33.14-3.15程序验收43.16根据设计内容形成课程设计文档,撰写课程设计报告5
3、3.17上交课程设计报告任课教师:刘中华、张晓玲、李艳霞 时间:2013.3.3课程设计报告文档题目: MP3仿真程序设计 一引言1编写目的:通过本课程设计,巩固面向对象程序设计的基本概念、原理和技术,学会使用C+语言进行简单程序的开发,将理论与实际相结合,完成一个小型程序的设计与实现,并在此基础上强化自己的实践意识,提高其实际动手能力和创新能力。2定义:对话框控件ID、所用及其描述控件ID描述IDC_SLIDERSLIDER控件,用来显示歌曲播放进度IDC_STATICStatic Text控件,用来显示歌曲总时间IDC_BTDrop按钮控件,单击它用来删除选中歌曲IDC_BTAdd按钮控件
4、,单击它用来选择歌曲IDC_BTPlay按钮控件,单击它用来播放歌曲IDC_BTPaust按钮控件,单击它用来暂停、继续播放歌曲IDC_BTStop按钮控件,单击它用来停止播放歌曲IDC_SLIDER_VOLUME按钮控件,单击它用来设定音量IDC_BTRead按钮控件,单击它用来保存歌曲播放列表IDC_OUT按钮控件,单击它用来退出程序IDC_BTNext按钮控件,单击它用来播放下一曲IDC_BTUp按钮控件,单击它用来播放上一曲IDC_ListLISTBOX控件,显示添加的歌曲mciSendCommand(DeviceID,MCI_STATUS,MCI_STATUS_ITEM,(DWORD
5、)&mcistatusparms) 向多媒体设备发送指令,获取当前的状态参数3参考资料:可视化程序设计 邱勇、肖春宝、白秀玲 2011 清华出版社c/c+程序设计 郑秋生、王黎明 2009 电子工业出版社二任务的描述1目标:根据实际MP3的运行状况进行需求分析,抽象MP3运行算法,设计MP3运行程序及人机交互界面。2功能描述: MP3播放器主控模块输入模块处理模块输出模块选择文件打开文件播放暂停/继续上一首下一首停止显示进度播放列表3性能描述 (1)数据精确度:比较精确 (2)时间特性:等待时间为0.5秒左右4运行环境:装有Windows操作系统的计算机5条件与限制:只能在装有Windows操
6、作系统的计算机,Visual C+6.0或更高版本以上运行。三任务设计1类的划分: (1)类1:File 主要功能是得到音乐文件的信息 CString GetTitle() 获得歌曲的名称 CString GetArtist() 获得歌曲的作者 CString GetAlbum()获得歌曲的专辑名称 int GetYear()获得歌曲发行年份 CString GetComment()获得歌曲的备注(2)类2:MP3 void OnBTStop() 停止当前播放的歌曲void Play(CString StrName,CString strPathName)播放当前选中的歌曲void OnBTN
7、ext()播放下一曲歌曲void OnBTUp()播放上一曲歌曲void OnBTPause()暂停当前播放的歌曲void OnBTDrop()删除当前选中的歌曲2类的接口设计: (1)类1: CString GetTitle() 获得歌曲的名称 CString GetArtist() 获得歌曲的作者 CString GetAlbum() 获得歌曲的专辑名称 int GetYear() 获得歌曲发行年份 CString GetComment() 获得歌曲的备注(2)类2: 播放音乐void Play(); 关闭设备void Stop(); 暂停设备void Pause(); 重启设备void
8、Resume();3类之间的关系:CMP3Dlg需要依赖Mp3类来进行音乐的播放,暂停,上一曲,下一曲等的操作。CMP3Dlg类需要依赖于File类来获取音乐文件的信息四编写代码1问题1 (1)问题描述:如何让时间显示走动,控制滑动条的随着歌曲滚动 (2)解决办法:增加一个OnTimer()的事件2问题2 (1)问题描述: 直接向ListCtrl使用SetItemText的属性向ListCtrl的列种赋值 (2)解决办法: 应该在要先使用InsertItem属性五运行结果与分析 1程序运行的过程: 初始化界面:打开文件界面:播放界面:2类的构造顺序: 初始化先构造Dlg类,然后构造File类点
9、击添加文件时完成时构造CMP3类接着构造CMusic类,双击鼠标构造CMP3类关闭界面时构造fileOperate类,后构造CMusic类 3错误描述及其解决办法(1)问题1:问题描述:删除当前播放的音乐后仍在继续播放 解决办法:删除后调用OnStop() 停止播放。(2)问题2 问题描述:播放完一首歌曲后不能自动播放下一曲 解决办法:在OnTimer() 函数中添调用OnNext()函数 六、感想认识 经过两周的面向对象程序课程设计,我学到了很多。在这两周的实际动手学习中,我对VC+这门课程有了更深刻的认识,掌握了用MFC创建基于对话框的应用程序,同时了解了MCI相关知识。这次课程设计我做了
10、MP3播放器的设计,MP3播放器主要对常用Windows音频格式的文件实现播放控制:播放歌曲、暂停播放、停止播放等;实现音量控制:静音、声音放大以及声音减小的功能。本次课程设计中虽然可以实现播放、暂停、停止以及音量等功能,但仍然存在着放多不足,比如列表管理的功能以及循环播放功能始终无法实现,如果有时间一定会好好研究。课设是辛苦劳累的,但是收获同样是巨大的,在课设中每解决一个问题,那种成就感是无法言语的,课设中第一次调试程序时出现了逻辑错误,编译能通过,运行始终无法通过,后来经过思考,进行了多次修改调试之后得到了运行结果,虽然以前在程序中未曾见到过,但是经过改正调试最终达到了目的。七、程序代码#
11、include #include #include #include stdafx.h#include MP3Player.h#include MP3PlayerDlg.h#include mmsystem.h#pragma comment(lib,winmm.lib)#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_; int n=0; /控制是否停止上一曲#endif/ CAboutDlg dialog used for App AboutHMIXER m_hmx;HMIXER m
12、_hMixer;MIXERCAPS m_mxcaps;DWORD m_curvalue;DWORD m_controlid;class CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExch
13、ange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDl
14、g)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMP3PlayerDlg dialogCMP3PlayerDlg:CMP3PlayerDlg(CWnd* pParent /*=NULL*/): CDialog(CMP3PlayerDlg:IDD, pParent)/AFX_DATA_INIT(CMP3PlayerDlg)m_time = _T();/AFX_DATA_INIT/ Note
15、that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CMP3PlayerDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CMP3PlayerDlg)DDX_Control(pDX, IDC_BTRead, m_Read);DDX_Control(pDX, IDC_BTPause, m_pause);DDX_C
16、ontrol(pDX, IDC_SLIDER2, m_voice);DDX_Control(pDX, IDC_List, m_list);DDX_Control(pDX, IDOut, m_out);DDX_Control(pDX, IDC_SLIDER1, m_slider);DDX_Control(pDX, IDC_BTUp, m_up);DDX_Control(pDX, IDC_BTStop, m_stop);DDX_Control(pDX, IDC_BTPlay, m_play);DDX_Control(pDX, IDC_BTNext, m_next);DDX_Control(pDX,
17、 IDC_BTDrop, m_drop);DDX_Control(pDX, IDC_BTAdd, m_add);DDX_Text(pDX, IDC_EDIT1, m_time);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CMP3PlayerDlg, CDialog)/AFX_MSG_MAP(CMP3PlayerDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDOut, OnOut)ON_BN_CLICKED(IDC_BTAdd, OnBTAdd)ON_BN_CLICKED(IDC_
18、BTDrop, OnBTDrop)ON_BN_CLICKED(IDC_BTPlay, OnBTPlay)ON_BN_CLICKED(IDC_BTStop, OnBTStop)ON_WM_VSCROLL()ON_BN_CLICKED(IDC_BTNext, OnBTNext)ON_BN_CLICKED(IDC_BTUp, OnBTUp)ON_LBN_DBLCLK(IDC_List, OnDblclkList)ON_WM_TIMER()ON_BN_CLICKED(IDC_BTPause, OnBTPause)ON_BN_CLICKED(IDC_BTRead, OnBTRead)ON_WM_HSCR
19、OLL()/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMP3PlayerDlg message handlersBOOL CMP3PlayerDlg:OnInitDialog()CDialog:OnInitDialog();/ Add About. menu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VC MP3 播放 课程设计 25
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内