完整版c#音乐播放器毕业课程设计.docx
《完整版c#音乐播放器毕业课程设计.docx》由会员分享,可在线阅读,更多相关《完整版c#音乐播放器毕业课程设计.docx(26页珍藏版)》请在冰豆网上搜索。
完整版c#音乐播放器毕业课程设计
软件实训(可视化程序设计)
课程设计(学年论文)说明书
课题名称:
音乐播放器
学生学号:
专业班级:
2011级电信02班
学生姓名:
李慕
学生成绩:
指导教师:
沈斌
课题工作时间:
2014.12.22至2013.12.28
武汉工程大学教务处制
填写说明:
1.一、二、三项由指导教师在课程设计(学年论文)开始前填写并交由学生保管;
2.四、五两项由学生在完成课程设计后填写,并将此表与课程设计一同装订成册交给指导教师;
3.成绩评定由指导教师按评定标准评分。
4.此表格填写好后与正文一同装订成册。
一、课程设计的任务或学年论文的基本要求:
本课程是一门理论与实践结合性很强的课程。
在本课程的学习和实践过程中,学生以解决实际问题的实例为主线,展开各个环节。
本课程将使学生在一定的时间内,尝试软件开发的过程,培养和提高学生的逻辑思维、抽象思维和统筹规划能力,为今后从事电信专业背景的软件开发工作打下基础。
本实训课程的主要任务如下:
1、在实践过程中,使学生进一步巩固《可视化程序设计》课程所学知识,更加深入地了解可视化程序设计(C#)的主要技术特点以及Visualstudio的强大功能;
2、指导学生利用获取信息的手段进一步获取新知识,以解决实训过程中遇到的技术难点,从中提高自学能力;
3、按照软件开发的基本要求引导学生完成实训课题,以便学生了解软件开发的几个重要环节;
4、提高学生的编程技术,使程序的编写更趋于专业化,为从业打下良好的基础;
5、培养学生分工协作的团队精神。
实训题目可以是学生自选题目或教师指定题目。
学生自选题目必须写出开题报告,经教师审核通过后方可作为正式选题。
每个题目必须由两个学生一组共同完成,每组组员之间必须要有明确的分工,并独立完成各自的设计任务,最后组内联调、共同整理项目文档。
实训内容涉及:
算法、可视化界面及数据库管理等方面,具体内容如下:
1.需求分析
说明项目(课题)的设计目标、功能和性能需求
2.开发工具和开发环境
简单介绍应用与此项目开发的开发工具和环境,说明选择此开发工具和环境的原因
3.总体设计
说明系统总体结构和功能模块划分,系统流程图等、画出相应的框图。
4.详细设计(不同分工的组员应该有所不同)
详细说明各个模块的设计细节、包括类的设计(包括其成员、方法、属性等)、数据库ER图,表、字段等等,注意附上重要的关键的代码分析,另外还有注意详略得当,应该反映项目设计的难点和重点
5.分析调试
说明编译调试的过程、附上必要的截图
6.测试与部署
说明实际部署所需要的软硬件环境、实际运行后的功能性能测试情况
7.结论和总结
简单说明在项目开发过程中学习总结和心得体会。
可选题目如下:
(1)模拟银行储蓄存取款系统
(2)模拟超市商品销售系统
(3)宠物小屋管理系统
(4)在职学员信息管理系统
(5)在职学员培训课程管理系统
(6)模拟员工考勤管理系统
(7)模拟员工工资管理系统
(8)模拟停车场管理系统
(9)简单计算器(加、减、乘、除、正弦、余弦、正切、余切等运算)
(10)班级成员年龄排序
(11)班级男女生比例计算
(12)阳历转阴历计算
(13)日期转星期计算
(14)计算自己的平均成绩
(15)计算一个学生类对象(至少包括:
姓名,学号,5科的成绩)的总分及输出
(16)游戏类(五子棋)
(17)游戏类(打字游戏)
(18)学生自选题目
设计报告要求:
设计报告应提供以下内容:
设计任务书、题目、摘要(中英文)、正文、参考文献(3种以上)。
其中正文应包含:
系统需求和功能分析,具体实施方案,设计思路、流程图、程序文件、设计与调试过程、结果和设计结论。
指导教师签字:
沈斌教研室主任签字:
曹新莉
2014年12月6日2014年12月6日
二、进度安排:
第17周(2014.12.22-2014.12.28):
周二:
根据前期课外资料收集和任务书要求选题。
周三:
根据所选题目要求进行系统需求和功能分析,确定具体实施方案。
周四:
根据所选题目要求及确定具体实施方案完成程序的编写工作。
周五:
对所编写的程序进行调试。
周六:
进行课程设计的答辩及完成报告。
三、应收集资料及主要参考文献:
1.童爱红,张欣茹:
VisualC#.NET应用教程童爱红,张欣茹编著.—2版.—北京:
清华大学出版社;北京交通大学出版社,2011.6(2012.2重印)
2.JamesFoxall:
VisualC#2008入门经典(美)福克塞尔(Foxall,J.)著;张劼译.—北京:
人民邮电出版社,2009.6
3.孙继磊,刘亮亮:
精通VisualC#2008:
语言基础、数据库系统开发、Web开发孙继磊,刘亮亮编著.—北京:
人民邮电出版社,2009.1
四、课程设计(学年论文)摘要(中文):
(200字左右)
音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。
它涵盖了各种音乐格式的播放工具,它们不仅界面美观,而且操作简单,是学习面向对象编程比较好的的例子。
现在面向对象的计算机编程语言很多,都可以编程来实现。
本设计通过对一个音乐播放器开发的过程。
力求将所学到的知识在系统开发中得以全面的应用,并使系统在实际的操作中能按照设计的要求安全有效正确的运行。
本设计使用C#进行编写,并通过了程序调试可以正常播放音乐,并且完成更换皮肤,换歌,调节播放界面大小,添加歌曲等基本设置。
关键词:
音乐播放器、C#
5、课程设计(学年论文)摘要(英文):
Musicplayerisamultimediaplayersoftwareforplayingvariousmusicfiles.Itcoversavarietyofmusicformatsplaybacktools,theyarenotonlybeautifulinterface,andsimple,istolearnobject-orientedprogramminggoodexample.Nowtheobject-orientedcomputerprogramminglanguagealot,canbeprogrammedtoachieve.Thedesignforamusicplayerthroughthedevelopmentprocess.Strivetobeacquiredknowledgeinsystemdevelopmenttobefullyapplied,andthesysteminactualoperationcanbesafelyandeffectivelyinaccordancewiththedesignrequirementsforproperoperation.ThisdesignusesC#towrite,andthroughtheprogramdebuggingcanplaymusicproperly,andcompletereplacementoftheskin,changesongs,adjusttheplaybackscreensize,addsongsandotherbasicsettings.
Keywords:
musicplayer、C#
六、成绩评定:
指导教师评语:
指导教师签字:
2014年12月日
项目
评价
项目
评价
调查论证
工作量、工作态度
实践能力
分析、解决问题能力
质量
创新
得分
七、答辩记录:
答辩意见及答辩成绩
答辩小组教师(签字):
2014年12月日
总评成绩:
(教师评分×75%+答辩成绩×25%)
课程设计评审标准(指导教师用)
评价内容
具体要求
权重
调查论证
能独立查阅文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获得新知识的能力。
0.1
实践能力
能正确选择研究(实验)方法,独立进行研究工作。
如装置安装、调试、操作。
0.2
分析解决问题能力
能运用所学知识和技能去发现与解决实际问题;能正确处理实验数据;能对课题进行理论分析,得出有价值的结论。
0.2
工作量、工作态度
按期圆满完成规定的任务,工作量饱满,难度较大,工作努力,遵守纪律;工作作风严谨务实。
0.2
质量
综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学;文字通顺,技术用语准确,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确;论文结果有应用价值。
0.2
创新
工作中有创新意识;对前人工作有改进或独特见解。
0.1
摘要······································································1
第一章绪论··························································2
1.1系统开发背景························································2
第二章系统设计要求··················································3
2.1开发环境·····························································3
2.2需求分析·····························································3
第3章系统设计························································4
3.1程序设计工作任务····················································4
3.2程序流程图····························································4
3.3类图··································································5
3.4模块图································································6第四章调试过程与运行结果·······································8
3.1系统调试·······························································8
3.2系统调试界面···························································8
3.3系统使用界面··························································8
第五章关键程序代码··············································10
总结······································································16参考书目································································17
摘要
中文摘要
音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。
它涵盖了各种音乐格式的播放工具,它们不仅界面美观,而且操作简单,是学习面向对象编程比较好的的例子。
现在面向对象的计算机编程语言很多,都可以编程来实现。
本设计通过对一个音乐播放器开发的过程。
力求将所学到的知识在系统开发中得以全面的应用,并使系统在实际的操作中能按照设计的要求安全有效正确的运行。
本设计使用C#进行编写,并通过了程序调试可以正常播放音乐,并且完成更换皮肤,换歌,调节播放界面大小,添加歌曲等基本设置。
关键词:
音乐播放器、C#
Abstract
Musicplayerisamultimediaplayersoftwareforplayingvariousmusicfiles.Itcoversavarietyofmusicformatsplaybacktools,theyarenotonlybeautifulinterface,andsimple,istolearnobject-orientedprogramminggoodexample.Nowtheobject-orientedcomputerprogramminglanguagealot,canbeprogrammedtoachieve.Thedesignforamusicplayerthroughthedevelopmentprocess.Strivetobeacquiredknowledgeinsystemdevelopmenttobefullyapplied,andthesysteminactualoperationcanbesafelyandeffectivelyinaccordancewiththedesignrequirementsforproperoperation.ThisdesignusesC#towrite,andthroughtheprogramdebuggingcanplaymusicproperly,andcompletereplacementoftheskin,changesongs,adjusttheplaybackscreensize,addsongsandotherbasicsettings.
Keywords:
musicplayer、C#
第一章绪论
1.1系统开发背景
音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。
它涵盖了各种音乐格式的播放工具,比如:
MP3播放器,WMA播放器,MP4播放器等。
它们不仅界面美观,而且操作简单,带你进入一个完美的音乐空间。
1.2系统开发环境的介绍
C#(读作“SeeSharp”)是一种简单、现代、面向对象且类型安全的编程语言。
C#起源于C语言家族,因此,对于C、C++和Java程序员,可以很快熟悉这种新的语言。
C#已经分别由ECMAInternational和ISOIEC组织接受并确立了标准,它们分别是ECMA-334标准和ISOIEC23270标准。
Microsoft用于.NETFramework的C#编译器就是根据这两个标准实现的C#是面向对象的语言,然而C#进一步提供了对面向组件(component-oriented)编程的支持。
现代软件设计日益依赖于自包含和自描述功能包形式的软件组件。
这种组件的关键在于,它们通过属性(property)、方法(method)和事件(event)来提供编程模型;它们具有提供了关于组件的声明性信息的属性(attribute);同时,它们还编入了自己的文档。
C#提供的语言构造直接支持这些概念,这使得C#语言自然而然成为创建和使用软件组件之选。
C#的特点主要体现在以下两个方面:
1.它是专门为配合Microsoft的.NETFramework使用而设计开发的。
.NETFramework为使用C#语言设计和开发桌面和网络应用程序提供了一个功能强大的平台。
2.它是一种基于现代面向对象设计方法的语言。
C#语言的开发和设计是Microsoft在近20年众多面向对象语言应用经验基础之上完成的,它吸收了其他与越南的优点,使应用程序的开发变得更加简单和高效。
第二章系统设计要求
2.1开发环境
操作系统:
MicrosoftWindows7
开发工具:
MicrosoftVisualStudio.NET2010
2.2需求分析
用Visualstudio2010设计一个画面简洁的媒体播放器,可是实现以下过功能
(1)通过添加按钮既可以一次性添加一首歌曲,通过鼠标单机listbox列表中列表项就可以播放指定的曲目。
(2)实现了对listbox中的曲目的播放控制,可以播隐藏播放列表、放下一曲、播放上一曲以及随机播放的功能。
(3)实现了播放器的暂停、继续、停止、声音的音量调节、声音的有无、视频画面的时间进度、播放画面的快进和快退功能。
第三章系统设计
3.1程序设计工作任务
播放器的工作任务图如图3-1
图3-1程序工作任务图
3.2程序设计流程图
图3-2程序流程图
3.3类图
播放器中有MainForm、Path、PlayList、Program、SavingInfo、SetForm、Song、SongPlayState等等类。
3.21Program类图如图3-3
图3-3
3.22MainForm类图如下
如图3-4是字段
图3-3
如图3-5是字段
图3-5
3.4模块图
1音量如图3-6
图3-6
2歌曲切换如图3-7
如图3-7
3定时器如图3-8
如图3-8
4基本设置如图3-9
如图3-9
5播放列表如图3-10
如图3-10
6进度条如图3-11
如图3-11
7歌词和MV切换如图3-12
如图3-12
第四章调试过程与运行结果
4.1系统调试
系统测试本身的目的是尽可能多地暴露程序中的错误,但是发现错误的最终目的还是为了改正错误。
软件工程的根本目标是以较低的成本开发出高质量完全符合用户要求的软件,因此在成功的测试之后,还需要进一步诊断和改正程序中的错误,这就是调试的任务。
系统调试工作是在系统设计过程中十分重要的一个环节,关系到本设计最终的成败。
在毕业设计的过程中,依然遇到了一些这样那样的问题。
4.2系统调试界面
系统调试界面如图4-1
4.3系统使用界面
调试结果分别如图4-2、图4-3、图4-4。
图4-2
图4-3
图4-4
第四章关键程序代码
1.歌曲列表操作
#region歌曲列表操作
绑定所有歌曲LV数据
privatevoidBindAllLV()
{
如果所有歌曲集合为空,结束
if(PlayList.song==null)
return;
lvSong.Items.Clear();
遍历集合绑定到所有歌曲LV
foreach(SongsinPlayList.song)
{
ListViewItemitem=newListViewItem(s.Name);
item.Tag=s;
item.SubItems.Add(s.Singer);
lvSong.Items.Add(item);
}
}
点击显示所有歌曲
privatevoidtslblAll_Click(objectsender,EventArgse)
{
隐藏播放列表
lvPlay.Visible=false;
两个LV位置重叠
lvSong.Location=lvPlay.Location;
点击后改变背景色
tslblAll.BackColor=Color.Silver;
tslblPlay.BackColor=Color.Transparent;
显示所有歌曲LV
lvSong.Visible=true;
}
点击显示播放列表
privatevoidtslblPlay_Click(objectsender,EventArgse)
{
调用绑定播放LV数据
BindPlayLV();
背景色改变
2播放按钮
#region播放按钮
播放按钮,切换播放or暂停
privatevoidbtnPlay_Click(objectsender,EventArgse)
{
if(!
timer1.Enabled)
timer1.Start();
如果当前为正在播放
if(wmp.playState==WMPLib.WMPPlayState.wmppsPlaying)
{
暂停播放
wmp.Ctlcontrols.pause();
按钮图片修改为播放
btnPlay.Image=Image.FromFile("Images\\play.png");
停止控制歌词滚动的定时器
if(timer2.Enabled)
timer2.Stop();
}
elseif(wmp.playState==WMPLib.WMPPlayState.wmppsPaused)
{
开始播放
wmp.Ctlcontrols.play();
按钮图片修改为暂停
btnPlay.Image=Image.FromFile("Images\\stop.png");
启动歌词滚动
if(!
timer2.Enabled&&Path.dicLrc.Count>0)
timer2.Start();
}
}
#endregion
3音量
#region音量
静音,静音!
=音量为0
privatevoidbtnModel_Click(objectsender,EventArgse)
{
如果播放器非静音状态,前景文字显示红叉,状态改为静音
if(wmp.settings.mute==false)
{
btnSound.Text="×";
wmp.settings.mute=true;
}
else反之,已是静音状态,清空红叉,设置非静音状态
{
btnSound.Text="";
wmp.settings.mute=false;
}
}
设置音量,此事件为控制刻度值变化时
privatevoidtrackBar1_Scroll(objectsender,EventArgse)
{
音量设置为控制刻度*10(因为初始化的时候是10)
wmp.settings.volume=this.trackBar1.Value*10;