收藏 分销(赏)

c音乐播放器课程设计报告.doc

上传人:人****来 文档编号:2935421 上传时间:2024-06-11 格式:DOC 页数:13 大小:385.50KB
下载 相关 举报
c音乐播放器课程设计报告.doc_第1页
第1页 / 共13页
c音乐播放器课程设计报告.doc_第2页
第2页 / 共13页
c音乐播放器课程设计报告.doc_第3页
第3页 / 共13页
c音乐播放器课程设计报告.doc_第4页
第4页 / 共13页
c音乐播放器课程设计报告.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、课程实验报告学院 计算机学院 专业 网络工程 班级 16网工3班 题目 音乐播放器 教师 程庆 学生 代应豪 目录第一章 绪论41.1 简介41.2 开发背景41.3 开发环境4第二章 系统设计52.1 需求分析52.1.1 功能需求52.1.2 系统结构和流程图62.2. 界面需求62.3 系统性能及可靠性需求72.3.1 系统性能72.3.2 可靠性7第三章 流程图83.1 音乐播放83.2 上一首83.3 列表操作93.4 播放进度控制9第四章 测试用例104.1 主界面测试104.5 简要概述优缺点及改进13第五章 心得体会14附录I 程序代码16基于Visual C+6.0实现 简单

2、的音乐播放器摘要:随着社会的发展,全国人们的生活水平得到了很大的提高,从追求物质生活提升到了精神享受。当我们完成繁重的工作后,我们需要尽情的释放来自各方面的压力。有研究证实,音乐有释放压力、缓解紧张情绪的作用。本系统以多媒体娱乐为主线,采用Visual C+为开发工具。使用成熟的MFC作为开发框架,具有开发速度快、便于管理等诸多优点。实现了添加音乐、删除音乐、音乐的播放顺序、显示音乐歌词、等一系列常用功能。当然程序在功能上还有很多的不足和缺陷。第一章 绪论1.1 简介音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。它涵盖了各种音乐格式的播放工具,比如:MP3播放器,WMA播放器,MP4播

3、放器等。它们不仅界面美观,而且操作简单,带你进入一个完美的音乐空间。当然,符合用户的使用习惯才是软件行业的立足之本。我们这款音乐播放器的设计思想来自我们使用的许多的音乐播放器操作以及我们自己对于软件功能开发的理解。也许,从某种意义上来说我们自己的角度并不能代表最终用户的意见。1.2 开发背景随着社会的发展,人们的生活水平得到了飞速发展。从追求物质生活提升到了精神享受层面,当我们完成繁重的工作后,我们需要尽情的释放来自各方面的压力。有研究证实,音乐有释放压力、缓解紧张情绪的作用。同时,现在网络中也存在大量的音乐播放器软件,有的软件是收费的,但是大多数的软件却是打着免费的旗帜,让广告充满了整个软件

4、。这款音乐播放器绿色小巧,可以直接运行。1.3 开发环境硬件:Intel 酷睿 i3,8G内存,500G硬盘系统:Microsoft Windows 7 Professional软件:Microsoft Visual C+ 6.0第二章 系统设计2.1 需求分析2.1.1 功能需求根据项目的目标,我们可获得项目系统的基本需求,一下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们从播放器的基本控制需要开始描述图 2-1 系统功能模块表 2-1 播放器基本控制 功能需求用例名称参与者目标前置条件基本事件流播放用户使得用户可以播放在播放列表中选中的歌曲播放器运行点击“播放”按钮

5、;播放该歌曲暂停用户使得用户可以暂停正在播放的歌曲歌曲正在播放且未停止点击“暂停”按钮;暂停播放该歌曲停止用户使得用户可以停止播放正在播放的歌曲歌曲正在播放或暂停点击“停止”按钮;停止该歌曲上一首用户使得用户可以听上一首歌曲歌曲正在播放或暂停点击“上一首”按钮;播放上一首歌曲播放列表用户使得用户可以选择播放类型程序运行点击“播放列表”;转到该播放列表2.1.2 系统结构和流程图图2-2 系统流程图2.2. 界面需求播放器界面要求布局合理,颜色舒适,控制按钮友好,为了减少开发工程量,可以借鉴现在流行的播放器的皮肤作为播放器的界面目标需求。主题界面分为三个部分:主界面、播放列表、显示歌词面板。图

6、2-3 系统界面需求2.3 系统性能及可靠性需求2.3.1 系统性能1、当要求播放歌曲时,程序的响应时间不得超过0.5秒2、当要求暂停歌曲时,程序的响应时间不得超过0.5秒3、当要求停止歌曲时,程序的响应时间不得超过1.0秒4、当要求切换歌曲时,程序的响应时间不得超过1.5秒2.3.2 可靠性系统能持续运行,不影响其他应用程序的使用,不会占用过多的内存,不造成计算机死机等影响用户体验的问题。第三章 流程图3.1 音乐播放 图 3-1 音乐播放流程图3.2 上一首图 3-2 上一首音乐流程图3.3 列表操作图 3-3 列表操作流程图3.4 播放进度控制图3-4播放进度控制流程图第四章 测试用例4

7、.1 主界面测试4.5 简要概述优缺点及改进优点:使用界面人性化:播放 暂停 继续 快进 回放 音量 属性 停止 一应俱全使用方便缺点:没有UI设计 只是简单的执行程序第五章 心得体会Windows 课程设计实验已经完成了,在这次的课程设计中不仅检验了我们本学期所学习的知识,也培养了我们如何自己动手开发一款难度适中的Windows应用程序,如何去做一件事情,又如何从头到尾完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,和同学老师交流遇到的问题以及分析自己的心得体会,使得自己少走了很多弯路。

8、课程设计是我们专业课程知识综合应用的实践训练,也是我们迈向社会,从事职业工作前一个必不少的过程”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础通过这次模具设计,我们在多方面都有所提高。通过这次模具设计,综合运用本专业所学课程的理论和生产实际知识进行一次冷冲压模具设计工作的实际训练从而培养和提高学生独立工作能力,巩固与扩充了课程所学的内容,了解了模具的基本结构,提高了计算能力全局掌控能力,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。在这次设计过程中,体现出

9、自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。在此感谢我们的老师,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。 由于我们还是学生,水平有限在系统的设计上可能存在考虑不周的地方,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,我们将万分感谢。同时,在这里还要感谢广大互联网的网友,我们系统的设计和实现都遇到过很多问题。其中,大部分都是通

10、过查询互联网而解决的。在此,感谢互联网的网友和你们的博客文章。参考文献1、MSDN for Visual Studio 6.02、设计模式可复用面向对象软件的基础,Erich Gamma/Richard Helm/Ralph Johnson/John Vlissides著,李英军/马晓星/蔡敏/刘建中 等译,机械工业出版社3、深入浅出MFC(第2版),侯俊杰著,华中科技大学出版社4、Microsoft Visual C+.NET 技术内幕(第6版),George Shepherd/David Kruglinski著,潘爱民译,清华大学出版社5、C+编程思想,Bruce Eckel著,刘宗田/邢

11、大红/孙慧杰 等译,机械工业出版社6、21天学通C,Jesse Liberty著,康博创作室译,人民邮电出版社7、C+标准程序库,Nicolai M.Josuttis著,侯捷/孟岩 译,华中科技大学出版社8、Windows程序设计,Charles Petzold著,北京博彦科技发展有限公司译,北京大学出版社附录附录I 程序代码#include#include /CString的头文件#include#include#include#include #include#pragma comment(lib,winmm.lib)int main() MCIERROR re; FILE *fp; ch

12、ar slen256=0,title30=0,artist30=0,test,song30,st; CString fe; long here,llen; int m,n,v,s; here=clock();/时间函数必须放在循环外面 printf(请输入歌名: ); fflush(stdin); gets(song);/输入曲目名称 fe.Format(open %s alias beatit,song); re=mciSendString(TEXT(fe.GetBuffer(fe.GetLength(),0,0,0);/TEXT是宏变量,alias不能少 printf(n); printf

13、(请选择一个命令对应的数字:n1.播放 2.暂停 3.继续 4.快进 5.回放 6.音量 7.属性 8.停止n); while(scanf(%d,&n)!=EOF) if(re!=0) n=7; if(n=1) mciSendString(TEXT(play beatit),0,0,0); printf(successfulnn); else if(n=4)/快进 here=here+10000; fe.Format(seek beatit to %ld,here); mciSendString(TEXT(fe.GetBuffer(fe.GetLength(),0,0,0);/to后面的lon

14、g数值必须真的是一个long数值,不能用变量名 mciSendString(TEXT(play beatit),0,0,0);/seek后还需要继续用open才能播放音乐 printf(successfulnn); /增加一个播放状态函数进行测量 else if(n=5)/快退 here=here-10000; if(here0)/快退到开始状态 here=0; fe.Format(seek beatit to %ld,here); mciSendString(TEXT(fe.GetBuffer(fe.GetLength(),0,0,0); mciSendString(TEXT(play be

15、atit),0,0,0); printf(successfulnn); else if(n=8)/停止 mciSendString(TEXT(close beatit),0,0,0); printf(successfulnn); exit(0); else if(n=6)/音量 printf(请输入新的音量大小,范围:1 to 1000n); scanf(%d,&v); if(v1000) printf(failednn); else fe.Format(setaudio beatit volume to %d,v); mciSendString(TEXT(fe.GetBuffer(fe.Ge

16、tLength(),0,0,0); mciSendString(TEXT(play beatit),0,0,0); printf(successfulnn); else if(n=2)/暂停 mciSendString(TEXT(pause beatit),0,0,0); printf(successfulnn); else if(n=3)/播放 mciSendString(TEXT(resume beatit),0,0,0); printf(successfulnn); else if(n=7)/属性 if(re!=0) printf(信息:n歌曲打开失败nn); else mciSendS

17、tring(TEXT(status beatit length),slen,255,0); llen=strtol(slen,0,0)/1000;/测量出媒体长度,单位为秒,需要转化 m=llen/60;/分 s=llen%60;/秒 fp=fopen(song,r); if(fp=NULL) printf(failednn); exit(0); fseek(fp,-125L,2);/讲指针移动到距离歌曲末尾125个字节处 fgets(title,30,fp); while(test=fgetc(fp)!=0);/指针跳跃 fflush(stdin); fgets(artist,30,fp); printf(信息:n); printf(歌名: %sn,title); printf(歌手: %sn,artist); if(m=10&s=10) printf(时长: %d:%dn,m,s); else if(m=10) printf(时长: 0%d:%dn,m,s); else if(m=10&s10) printf(时长: %d:0%dn,m,s); else printf(时长: 0%d:0%dn,m,s); printf(n); else continue; Sleep(10*60*1000); return 0;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服