音乐播放器课设报告

上传人:今*** 文档编号:109586087 上传时间:2019-10-27 格式:DOC 页数:26 大小:624.50KB
返回 下载 相关 举报
音乐播放器课设报告_第1页
第1页 / 共26页
音乐播放器课设报告_第2页
第2页 / 共26页
音乐播放器课设报告_第3页
第3页 / 共26页
音乐播放器课设报告_第4页
第4页 / 共26页
音乐播放器课设报告_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《音乐播放器课设报告》由会员分享,可在线阅读,更多相关《音乐播放器课设报告(26页珍藏版)》请在金锄头文库上搜索。

1、音乐播放器音乐播放器1 问题定义和可行性研究2(1) 问题定义3(2)可行性研究32 需求分析31 功能需求31.1 功能描述32 性能需求43 将来可能提出的要求44项目描述54.1编写目的54.2项目背景54.3开发工具及环境简介63 概要设计和详细设计63.1概要设计63.2 详细设计73.3音乐编码设计85主界面界面介绍96 系统的实现11一、主要的对话框11二、全局变量12三、初始化函数12三、播放、暂停功能15四、添加文件到播放列表18五、下一首上一首20六、停止播放21七、播放模式21八、显示时间和播放进度22九、删除歌曲235.2 单元测试256.总结261 问题定义和可行性研

2、究 本章分为两部分,问题定义和可行性研究。问题定义阶段主要研究我们所学的知识能做什么项目,而可行性研究给出了制作音乐播放器的可行性。(1) 问题定义 通过开发音乐播放器,来练习本学期软件工程课程所学知识。熟悉软件开发的各个阶段,将书本上的知识与实践性的开发活动联系起来。实现音乐播放器基本的功能。(2)可行性研究 大一的时候已经学过了基本的C+编程的知识,在这个基础上,有三个星期的时间来学习MFC编程,学习文件的读写操作,以及系统API函数调用等知识。边学边用,具备开发软件的能力。2 需求分析本章给出了音乐播放器应该具备的功能,并给出了功能示意图,最后提出了实现该播放器应该具备的条件。1 功能需

3、求1.1 功能描述本播放器主要有如下功能:1.对文件进行操作。2.对按钮的处理 1.对文件的操作通过文件的读写知识,实现浏览目录以选择文件,添加歌曲到播放列表,删除播放列表中的歌曲,对已经选中的文件进行播放、暂停,以及通过双击播放列表中的歌曲来播放文件。 2.对控件的处理对各种按钮添加了事件响应函数,可以处理基本的播放,暂停,上一首/下一首,删除,选择播放模式等操作。功能如下图:2 性能需求本项目是一个普通的音乐播放器,运行环境为VS2010,项目运行速率正常,可以满足用户需求。1. 时间性能要求:越低越好。2. 便捷性:运用了可视化编程,更有助于人机交互,更人性化。程序的运行,符合正常的操作

4、习惯,程序功能明了简洁!3 将来可能提出的要求(1)歌曲列表的保存(2)菜单操作(3)更换背景图片(4)提供网络下载功能:支持通过歌名和歌手名进行歌曲检索和下载功能;(5)支持歌词显示和同步播放;(6)支持歌曲在线播放;(7)支持更友好的歌曲检索和下载功能;(8)提供更良好的操作界面。4项目描述4.1编写目的 设计一个基于windows平台的音乐点播系统,实现音乐库的管理以及播放功能。 音乐播放器能够满足音乐的播放功能,实现一款播放器的基本功能。4.2项目背景 本项目作为软件课程设计课程的训练项目提出,在基本的设计实现基础上,将不断对已有的设计进行进一步的修改和完善,最终完成整个软件开发过程。

5、本次项目的旨在通过不同软件工程设计方法与技术的实践,了解和掌握各种技术、工具平台的特点与局限性,体会协同开发方式。第1阶段:主要目的是通过对项目需求的分析和理解,通过面向对象的设计方式完成项目前期的准备工作。第2阶段:我们会根据既定需求,完善设计模式。第3阶段:在设计文档和需求分析的文档下,完成音乐点播系统原型的开发,并完成整个开发流程的测试报告第4阶段:通过音乐点播系统软件的设计开发,了解软件文档的编写原则,训练掌握软件各类文档写作的技巧,同时在文档的编写过程中提高和增加C+开发的能力和经验。4.3开发工具及环境简介操作系统:windowsxp或以上版本C+ 6.0: Visual C+是一

6、个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。MicrosoftOfficeWord2003:经典办公软件,本项目中用于编写文档。3 概要设计和详细设计3.1概要设计通过这个阶段的工作将划分出组成系统的物理元素程序,文件和文档等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计的另一项重要任务是设计软件的结构,也就是要确定该软件由哪些模块组成的,以及这些模块之间的关系。运用传统软件工程方法学的知识将音乐播放器软件的开发分成:一、

7、MFC的使用以及实现方法二、文件的读写操作三、系统API函数的调用3.2 详细设计根据概要设计所划分的四个模块,该阶段应详细地完成这四个模块的任务:一、MFC的实现通过MFC窗口以及函数的使用,创建出播放器的主界面,主界面应包括文件的打开、添加、播放以及线程按键。另外,还要各种函数应该实现相应组件上的各种事件。二、文件读写操作的实现通过以前的学过的文件读写操作知识,实现对音乐文件的读以及写操作。三、系统API函数的调用通过调用系统媒体控制接口函数实现对mp3,wav,wma等格式的音乐的播放的功能。3.3音乐编码设计一、编码原理1.音乐的十二平均率规定(1)每两个八度音之间的频率相差一倍。(2

8、)两个八度音之间又可以分为十二个伴音,每两个伴音的频率比为1.059463。(3)低音6(音名A)的频率是440Hz,音名B到C之间、E到F之间为伴音,其余为全音。2.乐谱编码选取65536Hz为基准频率,以此频率分频得到简谱高音各音调的分频比。计算公式为N=65536/f。二、编码参照 为了让ROM能够识别各音频的分频系数,需将个音频分频系数按照一定格式转换成十六进制格式。我们采用8位的ROM,D6D5位表示高中低音,如表1-2所示,11为高音,10为中音,01为低音;用D4D3D2D1D0位表示分频系数,将表1-1的分频系数转换成二进制格式表示;ROM的高位全部补0。然后转换成十六进制如表

9、1-2所示。之所以采用高音分频比的二分之一为基准分频系数,是因为ROM的位宽限制,而每两个八度音频率相差一倍,所以我们后面用译码器译成各音频的分频系数输出给分频器,这样由分频器输出到扬声器,扬声器就可发声了。5主界面界面介绍1、界面图:2添加歌曲按钮3、删除歌曲按钮4、音量的变大变小按钮5、歌曲时间和进度的显示图像6、下一首歌按钮7、上一首歌按钮8、停止播放按钮9、播放按钮10、单曲播放/随机播放/顺序播放按钮11、空白部分为歌曲的菜单列表6 系统的实现一、主要的对话框class CMCIPlayerDlg : public CDialogEx/ 构造public:CMCIPlayerDlg(

10、CWnd* pParent = NULL);/ 标准构造函数/ 对话框数据enum IDD = IDD_MCIPLAYER_DIALOG ;protected:virtual void DoDataExchange(CDataExchange* pDX);/ DDX/DDV 支持/ 实现protected:HICON m_hIcon;/ 生成的消息映射函数virtual BOOL OnInitDialog();afx_msg void OnSysCommand(UINT nID, LPARAM lParam);afx_msg void OnPaint();afx_msg HCURSOR OnQ

11、ueryDragIcon();DECLARE_MESSAGE_MAP()public:/ 列表CListBox m_list;afx_msg void OnBnClickedOnstart();afx_msg void OnBnClickedOnloadmusic();void load(music a);int isplay;int index;CSliderCtrl volume;afx_msg void OnNMCustomdrawVolun(NMHDR *pNMHDR, LRESULT *pResult);afx_msg void OnBnClickedOnnext();afx_msg

12、 void OnBnClickedOnper();afx_msg void OnBnClickedOnstop();LRESULT OnMciNotify(WPARAM wParam, LPARAM lParam);/设置播放模式afx_msg void OnBnClickedOrder();afx_msg void OnLbnDblClk();void OnTimer(UINT nIDEvent);/ 进度条CSliderCtrl m_progress;afx_msg DWORD getinfo(DWORD item);afx_msg void OnBnClickedDeletemusic(

13、);二、全局变量struct musicstring name;string mPath;int m_max;/进度条的最大位置变量int hour,minute,second; /时间变量:小时、分钟、秒钟DWORD cdlen;/某个音频文件的总时间长度DWORD m_count;/设备型号DWORD cdfrom,cdto;/歌曲的起点和终点DWORD DeviceID;list mus;/全局歌曲链表vector allpath;/保存已有的歌三、初始化函数BOOL CMCIPlayerDlg:OnInitDialog()CDialogEx:OnInitDialog();/ 将“关于.

14、”菜单项添加到系统菜单中。/volume.SetBkColor(RGB(37,38,37);HBITMAP hBitmap; hBitmap = LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP4); (CButton *)GetDlgItem(IDC_ONSTART)-SetBitmap(hBitmap); hBitmap = LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1); (CButton *)GetDlgItem(IDC_ONPER)-SetBitmap(hBitmap); hBitmap = LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP2); (CButto

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号