音乐播放器实验报告.doc_第1页
音乐播放器实验报告.doc_第2页
音乐播放器实验报告.doc_第3页
音乐播放器实验报告.doc_第4页
音乐播放器实验报告.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计课程设计 设计说明书音乐播放器(Mp3 Player)起止日期: 2012 年 5 月 27 日 至 2012 年 6 月 2 日学生姓名孙见任班级计算机科学与技术101学号10408100124成绩指导教师(签字)计算机与通信学院2012年 6 月 2 日目录一、课题的介绍和课题的任务二、设计的要求三、系统的分析和系统中功能的设计四、系统的实现及调试五、系统的使用说明六、总结七、程序主要源代码八、课程设计任务书一、 课题的介绍和课题的任务音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。它涵盖了各种音乐格式的播放工具,比如:MP3播放器,WMA播放器,MP4播放器等。它们不仅界面美观,而且操作简单,带你进入一个完美的音乐空间。利用MFC应用程序、媒体控制接口MIC的基本知识,设计一个MP3播放器。要求能够播放常用Windows音频格式的文件;实现播放控制:播放、暂停、清空播放列表、音量增减、添加歌曲、上一曲,下一曲等功能;实现从本地磁盘加入文件,然后对其进行播放。二、设计的要求系统模块功能图:基于MFC的音乐播放器播放曲目关音量控制关音乐播放关播放器开关开启音量加停止暂停播放关闭下一曲上一曲音量减流程图:开始添加音乐播放停止暂停播放结束退出二、 系统的分析和系统中功能的设计主要成员函数:OnPaint()添加背景图片OnAdd()添加功能OnPlayOrPause()播放/暂停功能StoreList()、ReadList()播放列表功能OnClear()清空播放列表功能SetVolume()、Oninvolume()、Ondevolume()音量功能OnfrontSong()、OnNextSong()上下曲getlrc()、displaylrc()歌词显示功能该播放器分为八大功能模块;1、 背景图片:音乐播放器的背景图片。2、添加功能:该功能能够在本地磁盘中寻找音乐文件,并将文件加载到程序中,将文件进行播放。3、播放/暂停功能:本地磁盘音乐文件添加完毕,单击播放按钮开始播放音乐,直至播放完毕,单击按钮便可以暂停音乐的播放,再次单击按钮时继续播放。4、播放列表功能:显示添加的歌曲5、清空播放列表功能:清除播放列表中的全部歌曲。6、音量功能:控制音量的大小7、上下曲:改变播放歌曲的顺序。8、歌词显示功能:显示当前播放歌曲的歌词。四、系统的实现及调试/说明:主要介绍系统编码的实现以及编码中遇到的问题和解决方法。五、系统的使用说明该系统界面包括添加、播放/暂停、清空播放列表、播放列表、音量增减、上一曲、下一曲、歌词显示区等按钮。先单击文件按钮,在本地磁盘找打音乐文件,然后将文件加入,添加的歌曲显示在播放列表中。选中播放列表的歌曲,然后单击播放按扭,开始播放音乐,直到播放完后停止。在播放音乐文件期间,单击暂停按钮,可以暂停播放音乐,再次单击暂停按钮时,又可以继续播放。同时单击+,-按钮,可以控制音量的大小。单击上一曲按钮,将播放播放列表中当前曲目的上一曲,下一曲按钮,播放播放列表中当前曲目的下一曲。同时显示歌曲名和歌词。注意:添加完文件后,应先选中播放列表中的歌曲在点击播放按钮才能播放。六、总结经过一周的面向对象程序课程设计,我学到了很多。在这一周的实际动手学习中,我对VC+这门课程有了更深刻的认识,掌握了用MFC创建基于对话框的应用程序,同时了解了MCI相关知识。这次课程设计我做了MP3播放器的设计,MP3播放器主要对常用Windows音频格式的文件实现播放控制:播放歌曲、暂停播放、音量的控制、上一曲、下一曲等功能。 本次课程设计中虽然可以实现播放、暂停以及音量等功能,但仍然存在着放多不足,比显示播放时间的功能以及循环播放功能始终无法实现,如果有时间一定会好好研究。课设是辛苦劳累的,但是收获同样是巨大的,在课设中每解决一个问题,那种成就感是无法言语的,课设中第一次调试程序时出现了逻辑错误,编译能通过,运行始终无法通过,后来经过思考,进行了多次修改调试之后得到了运行结果。七、程序主要源代码:void CMp3PlayerDlg:OnAdd() /添加文件/ TODO: Add your control notification handler code herechar sBuffer6000; sBuffer0=0;CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,MP3文件(*mp3)|*mp3|,NULL);dlg.m_ofn.lpstrFile=sBuffer;dlg.m_ofn.nMaxFile=6000;if(dlg.DoModal()=IDOK)POSITION pos;pos=dlg.GetStartPosition();int n;CString cs;for(int i=CurSize;iiItem;CurID=pNMListView-iItem;CurPos=0;Playmusic(CurID);State=1;*pResult = 0;void CMp3PlayerDlg:Stopmusic()/暂停mciSendCommand(m_mciID,MCI_STOP,MCI_WAIT,NULL);void CMp3PlayerDlg:Pausemusic()mciSendCommand(m_mciID,MCI_PAUSE,0,NULL);void CMp3PlayerDlg:OnPlayOrPause()/播放,暂停/ TODO: Add your control notification handler code hereif(State=1)Pausemusic();KillTimer(1);State=0;elsemciSendCommand(m_mciID,MCI_RESUME,0,NULL);SetTimer(1,1000,NULL);State=1;void CMp3PlayerDlg:StoreList()/存储列表CFile file;if(file.Open(E:My musicsonghuang.hzy,CFile:modeWrite|CFile:modeCreate)CArchive ar(&file,CArchive:store);arCurSize;for(int i=0;iCurSize;+i)armp3i.mp3NameCurSize;for(int i=0;imp3i.mp3Name;armp3i.pathName;ar.Close();file.Close();void CMp3PlayerDlg:display()m_MusicList.DeleteAllItems();for(int i=0;iCurSize;+i)m_MusicList.InsertItem(i,mp3i.mp3Name);displayname();void CMp3PlayerDlg:displayname()/播放的文件名m_CurName=mp3CurID.mp3Name;UpdateData(false);void CMp3PlayerDlg:displaylrc()/播放歌词UpdateData(false);SetTimer(2,8000,NULL);void CMp3PlayerDlg:OnClear() /清空列表/ TODO: Add your control notification handler code herem_MusicList.DeleteAllItems();CurSize=0;display();void CMp3PlayerDlg:Getlengh()/获得歌曲的长度/ get lenghMCI_STATUS_PARMS StatusParms;StatusParms.dwItem = MCI_FORMAT_MILLISECONDS|MCI_STATUS_LENGTH;mciSendCommand (m_mciID, MCI_STATUS, MCI_WAIT | MCI_STATUS_ITEM,(DWORD)&StatusParms);lengh=StatusParms.dwReturn;m_progress.SetRange(0,lengh/1000);SetTimer(1,1000,NULL);void CMp3PlayerDlg:OnTimer(UINT nIDEvent)/定时器/ TODO: Add your message handler code here and/or call defaultif(nIDEvent=1)if(CurPos=lengh/1000)KillTimer(1);srand(time(0);CurID=rand()%CurSize;CurPos=0;Playmusic(CurID);m_progress.SetPos(+CurPos);elseif(nIDEvent=2)m_lrc=;for(int i=CurLine;iGetPos();Playmusic(CurID);CDialog:OnHScroll(nSBCode, nPos, pScrollBar);void CMp3PlayerDlg:SetVolume()/音量/ TODO: Add your control notification handler code hereMCI_DGV_SETAUDIO_PARMS mciVolume;mciVolume.dwItem = MCI_DGV_SETAUDIO_VOLUME;mciVolume.dwValue = CurVolume; /此处就是音量大小 (0-1000)mciSendCommand(m_mciID, MCI_SETAUDIO, MCI_DGV_SETAUDIO_VALUE|MCI_DGV_SETAUDIO_ITEM,(DWORD)&mciVolume);void CMp3PlayerDlg:Oninvolume() /增加音量/ TODO: Add your control notification handler code hereCurVolume+=10;SetVolume();void CMp3PlayerDlg:Ondevolume() /减小音量/ TODO: Add your control notification handler code hereCurVolume-=10;if(CurVolume=0)CurVolume=0;SetVolume();void CMp3PlayerDlg:OnfrontSong() /上一曲/ TODO: Add your control notification handler code hereCurID-=1;if(CurID=CurSize-1)CurID=CurSize-1;CurPos=0;Playmusic(CurID);bool CMp3PlayerDlg:getlrc()/获得歌词CFile file;CStdioFile file1;CString str;str=mp3CurID.pathName;str.Replace(mp3,lrc);int n=0;int i=0;int temp;if(file1.Open(str,CFile:modeRead)while(file1.ReadString(str)n=str.Find(,0);temp=n;while(str.Find(,temp+1)!=-1)temp=str.Find(,temp+1);if(temp!=-1)n=temp;str.Delete(0,n+1);if(str!=)lrci=str+rn;m_lrc+=lrci;i+;TotleLine=i;return 1;return 0;湖南工业大学课程设计任务书20112012 学年第 二 学期 计算机与通信学院 学院(系、部) 计算机科学与技术 专业 101 班级课程名称: C+面向对象程序设计 设计题目: 音乐播放器(Mp3 Player) 完成期限:自 2012 年 5 月 27 日至 2012 年 6 月 2 日共 1 周内容及任务一、 设计的主要技术参数MFC对话框的建立、初始化图片按钮!二、 设计任务做一个基于对话框的MFC音乐播放器三、设计工作量进度

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论