《毕业设计论文KTV点歌系统管理歌曲模块.doc》由会员分享,可在线阅读,更多相关《毕业设计论文KTV点歌系统管理歌曲模块.doc(32页珍藏版)》请在三一办公上搜索。
1、xxxxxxxxxxxxx学院本科毕业设计(论文)题 目 KTV点歌系统 管理歌曲模块 指导教师 xxxx 职称 (讲师) 学生姓名 xxxxxx 学号 20073512130 专业 计算机系 班级 信管专升本班 院 (系) 电子信息工程学院 完成时间 2009年4月26日 KTV点歌系统 管理歌曲模块 摘 要 如今,“MP3”格式的音频文件已然成为了人们的酷爱,所以我借此毕业设计之机,制作出一款属于自己的MP3播放系统。此设计以Windows Media Player为模板,参照其设计思想和公共的网格类控件,在实际的开发过程中力求使其具有较强的实用性和灵活性,具备了Windows Media
2、 Player强大全面的功能,但它外观简洁,操作简便,可满足一般性的音乐需求。关键字 实用性和灵活性,外观简洁,操作简便。 ABSTRACT Now,the “.MP3”is the favorite,so I want to design a player of mp3 in my guraduation design. This design take the Windows Media Player as the template, according to it designs the thought, trying hard for to design a more simple p
3、layer of MP3 .although this sort of MP3 player doesnt have the powerful function like Windows Media Player ,it can contented the need of general music and it also has the advantage likes brief outward and easy operating . This topic discusses how to use the grid control of VB to develop pratical sof
4、tware and how to use it conveniently and simply。 Keywords: practical and active,brief outward ,easy operating II 目 录摘 要IABSTRACTII1、绪 论12、分 析22.1 项目制作意义22.2 项目制作目标22.3 项目制作工具22.4 相关知识:32.4.1 Visual Studio200542.4.2 Windows Media Player52.4.3 Photoshop 7.052.4.4 SQL Server62.4.5 MP3简介73、系统设计83.1 系统设计
5、思路83.2 界面设计83.3 功能详解及程序代码与数据库结构83.3.1 数据库结构与E-R图83.3.2 程序定义103.3.3 程序详解114、结果分析234.1效率分析234.2可靠性分析234.3置环境要求234.4优点234.5缺点和不足23总 结24致 谢25参考文献26271绪 论 如今,“.MP3”格式的音频文件已然成为了人们的酷爱。它音质较好,占用空间小,非常适宜于PC,自诞生之日起就一直倍受人们倾爱。1987年德国的研究机构IIS(Institute Integrierte Schaltungen)开始着手一项声音编码及数字音频广播的计划,名称叫做EUREKA EUl47
6、,即MP3的前身。之后,这项计划由IIS与Erlangen大学共同合作,开发出一套非常强大的算法,经由150国际标准组织认证之后,符合ISO-MPEG Audio Layer-3标准,就成为现在的MP3。 自从“.MP3”诞生以来,也衍生出了许多MP3播放软件,如:REAL PLAYER,MEDIA PLAYER等等著名产品,它们外形美观大方,操作简便,易使用,亦受人们喜爱。于是我借此毕业设计之机,借鉴MEDIA PLAYER的设计思想,取其大概,亦想制作一款自己的MP3播放系统。 Visual Studio2005是微软公司出品的一个快速可视化程序开发工具软件,借助微软在操作系统和办公软件的
7、垄断地位,VS.NET在短短的几年内风靡全球。VS.NET是极有和功能强大的软件,主要表现在:所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,较易维护的生成代码。VS.NET程序语言具有许多优秀的特性,用其设计应用程序时有两个基本特点:可视化设计和事件驱动编程。 基于以上原因,我决定采用Visual Studio2005作为本软件的开发平台。 此设计秉承MEDIA PLAYER的设计思想,汲取其设计思路,外形简洁,操作更加简便,工作环境要求低,且易存放,易保存。 在设计中,我始终注意保持MEDIA PLAYER的基本样式,注意保持其基本格式,目的在于给人以熟悉的感觉,使人们在操作
8、时更容易。 由于对Visual Studio2005是初学,因此难免有疏漏,故此设计较为简单,请各位老师谅解。2 分析2.1 项目制作意义1987年德国的研究机构IIS(Institute Integrierte Schaltungen)开始着手一项声音编码及数字音频广播的计划,名称叫做EUREKA EUl47,即MP3的前身。之后,这项计划由IIS与Erlangen大学共同合作,开发出一套非常强大的算法,经由150国际标准组织认证之后,符合ISO-MPEG Audio Layer-3标准,就成为现在的MP3。自从“.MP3”诞生以来,也衍生出了许多MP3播放软件,如:REAL PLAYER,
9、MEDIA PLAYER等等著名产品,它们外形美观大方,操作简便,易使用。因此,设计简洁明朗的MP3播放软件就成为许多软件公司的工作重点。其实,我所制作的“KTV点歌系统”,无论从其技术含量还是从其市场要求度来说,都不能满足市场的要求,但是我更看重的是我在这次毕业设计所学到的知识。 在导师的教导下,学习了一门新的语言,学会了一项新知识,这一些都是我以前不曾接触到的,为我以后的学习和发展提供了莫大帮助。 所以我更看重的是学习的本质的东西:即是否学到知识,尝到什么知识,对以后个人的发展有无益处,有何益处,只有这样,我认为才能够把握住学习的主动权,学到真正的东西。2.2 项目制作目标尽管Window
10、s Media Player功能强大,操作简单,适合普通用户的简单需求,故我们需要一种界面简洁,操作简单快捷的播放工具。这一款”KTV点歌系统”,它具有Windows Media Player强大功能,其简洁的界面,快捷的操作,非常容易上手,且运行环境要求低,非常适合大多数用户普通的音乐需求。2.3 项目制作工具 除了Visual Studio2005之外,当前能够编制Windows应用程序的可视化编程工具还有很多,所针对的编程领域也各有侧重,就微软系列的可视化开发工具而言,就有VB,VisualC+,VisualJ+,Visual Foxpro等,其中Visual Foxpro是针对数据库编
11、程的开发工具;Visual C+是为专业程序设计员提供的开发工具,变量声明和定义严密,功能强大灵活,必须经过相当的努力才能掌握;而VB不支持虚类、多态性和类的继承,相对而言VB简单易学,变量定义不太严密,于非专业程序员而言功能足够强大,Visual C+一样也支持网络编程和数据库编程。 传统的应用程序开发过程可以分为三个明显的步骤:编码、编译和测试。但是Visual Studio2005与传统的语言不同,它使用交互式方法开发应用程序,使三个步骤之间不再有明显的界限。 在大多数语言里,如果编写代码时发生了错误,则在开始编译应用程序时该错误就会被编译器捕获。此时必须查找并改正该错误,然后再次进行编
12、译,对每一个发现的错误都要重复这样的过程。Visual Studio2005在编程者输入代码时便进行解释,即时捕获并突出显示大多数语法或拼写错误。看起来就像一位专家在监视代码的输入。 除即时捕获错误以外,Visual Studio2005也在输入代码时部分地编译该代码。当准备运行和测试应用程序时,只需极短时间即可完成编译。如果编译器发现了错误、则将错误突出显示于代码中。2.4 相关知识: Visual Studio 2005(以前称为“Visual Studio 代号 Whidbey”)。该版本的 Visual Studio 与 .NET Framework 共同提供对类库、公共语言运行库 (
13、CLR)、编程语言和集成开发环境 (IDE) 的革新和增强。此外,该产品还使开发人员能够编写存储过程,从而提供对 SQL Server 2005(以前称为“SQL Server 代号 Yukon”)的深入支持。 Visual Studio 代号“Orcas”。该版本的 Visual Studio 和 .NET Framework 为代号为“Longhorn”的 Windows 操作系统提供工具支持。生成 Microsoft 开发人员工具的目的始终围绕着使开发人员能够利用 Windows 平台中的最新进展这一主题。Microsoft 提供支持即将面世的SQL Server 和 Windows操作
14、系统版本的工具,从而继续发扬了这一传统。2.4.1 Visual Studio20052000年七月在美国奥兰多举行的专业开发者大会上,微软公司展示了它最新的.NET体系,从多的发言人向大会介绍了.NET的特征和构成。从此,软件业界就开始掀起了一股“.NET”热潮。通过.NET, 微软公司为人们提供了一种全新的开发平台,这个平台将推动以新体系为基础的协同WEB应用开发。微软公司推出Visual Studio.NET 的目的就是要推进网络应用软件的开发,使用Visual Studio.NET开发系统可以编写最简单的基于Windows的单层应用软件,也可以编写Windows下的客户/服务器多层应用
15、软,无论是为了Windows还是为Web , Visual Studio都在各个层面上作了大量的工作。Visual Studio.NET与以往版本相比发生了巨大的变化,这种变化主要来自两个方面:一是语言本身的改进和.NET平台的建立。无论是在网络应用还是在本地应用上,都对各种语言做了许多改进,特别是用崭新的C#语言代替了J+。C#具有简捷、灵活、安全、面向对象和兼容性强等许多优点,是.NET中的旗帜语言。二是开发环境的重大改变。首先,在一个开发环境中同时集成了Visual Basic、Visual C+、Visual C#和FoxPro。其次,开发环境的适应性大大增强了,适用于快速Web应用软
16、件的开发,可以轻松地运用XML和WEB服务进行跨平台计算,也可以快速开发中间层商务组件。再次,调试功能增强了,它可以调试不同语言开发的应用程序,也可以调试工程,进程和存储过程。这些新特性使用户的开发效率有了大幅度的提高。正如微软公司首席执行管鲍尔默所说:“Microsoft.NET代表了一个集合、一个环境、一个可以作为平台支持下一代Internet的可编程结构。Microsoft.NET的策略是把因特网本身作为构建新一代操作系统的基础,将因特网和操作系统的设计思想合理延伸。Visual C#是微软公司为它的Microsoft.NET计划推出的核心编程语言。该语言几乎综合了目前所有编程语言系统的
17、优点,并结合因特网的需要,增加了丰富的新特性和增强功能。Visual C#语言面向对象的设计,可以用来构建从高水平的商务目标到体系标准应用程序的范围宽广的组件。使用Visual C#语言,程序员能够迅速地建造提供充分开拓计算和通信的工具和服务的新的Microsoft.NET平台。C#语言的组成部分使用简单的C#语言结构体,能被转化成WEB服务,允许人们通过Internet调用在任何操作系统上运行的任何语言。Visual C#语言作为一种编程语言,具有以下几个至关重要的特点:u 兼容性;u 灵活性;u 简单性;u 面向对象;u 类开安全;u 版本控制;Visual C#具有C,C+语言的灵活性和
18、语言开发效率高的特点,同时又是网络服务语言,体现了许多新的现代化开发技术。因此我们完成底层平台的调用和底层平代码的控制,实现跨语言、跨平台的因特网远程调用、可以构建复杂的商务系统。2.4.2 Windows Media Player这是微软公司基于 DirectShow 基础之上开发的媒体播放软件。它提供最广泛,最具可操作性,最方便的多媒体内容。你可以播放更多的文件类型,包括:Windows Media (即以前称为NetShow的), ASF, MPEG-1, MPEG-2, WAV, AVI, MIDI, VOD, AU, MP3, 和 QuickTime 文件。所有这些都用一个操作简单的
19、应用程序来完成。 Favorites 菜单会让你保存最喜欢的网站,以后可以更快速,简便的重放。这个菜单甚至还能直接让你连接到很酷的网站。Windows Media Player 能播放从低带宽的声音文件到全屏的图象文件,你还可重设图象窗口,甚至设成全屏,以便更好的播放。当你选定了声像地址后,Windows Media Player 会查看是否安装了所需的 codec 文件。如果没安装,它会自动下载 codec,然后播放文件。网上的内容(可从不同的服务器或不同的媒体类型文件)在播放时中间不需停顿,传输到 Windows Media Player 的内容,会自动调整至最佳播放状态。2.4.3 Ph
20、otoshop 7.0Photoshop 7.0 是 Adobe 公司最新版的图像编辑软件,它功能强大并且操作简便,被广泛地应用在图像处理,绘画,多媒体界面设计、网页设计等领域。要掌握它的操作,必须对它有个整体的认识。2.4.4 SQL ServerSQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。SQL Server近年来不断更新版本,1996年,Microsoft推出了SQL Server 6.5版本;1998年,SQL Serv
21、er 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据,SQL可与数据库程序协同工作,比如MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase以及其他数据库系统。存在着很多不同版本的SQL语言,但是为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的关键词(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。 SQL Server 特
22、点: 1真正的客户机/服务器体系结构。 2图形化用户界面,使系统管理和数据库管理更加直观、简单。 3丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 4SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。 5具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。 6对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。 7SQL Server提供数据
23、仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。 SQL Server 2000与以前版本相比较,又具有以下新特性 : 1支持XML(Extensive Markup Language,扩展标记语言) ;2强大的基于Web的分析 ;3支持OLE DB和多种查询 ;4支持分布式的分区视图 。2.4.5 MP3简介MP3的全名是MPEG Audio Layer-3,简单的说就是一种声音文件的压缩格式。1987年德国的研究机构IIS(Institute Integrierte Schaltungen)开始着手一项声音编码及数字音频广播的计划,名称叫做EUREKA EUl47,即MP3
24、的前身。之后,这项计划由IIS与Erlangen大学共同合作,开发出一套非常强大的算法,经由150国际标准组织认证之后,符合ISO-MPEG Audio Layer-3标准,就成为现在的MP3。ISO/MPEG音频压缩标准里包括了三个使用高性能音频数据压缩方法的感知编码方案 (perceptual coding schemes)。按照压缩质量(每Bit的声音效果)和编码方案的复杂程度分别是Layer 1、Layer 2、Layer 3。 所有这三层的编码采用的基本结构是相同的。它们在采用传统的频谱分析和编码技术的基础上还应用了子带分析和心理声学模型理论。也就是通过研究人耳和大脑听觉神经对音频失
25、真的敏感度,在编码时先分析声音文件的波形,利用滤波器找出噪音电平( Noise Level ),然后滤去人耳不敏感的信号,通过矩阵量化的方式将余下的数据每一位打散排列,最后编码形成MPEG的文件。而音质听起来与CD相差不大。MP3的好处在于大幅降低数字声音文件的容量,而不会破坏原来的音质。以CD音质的Wave文件来说,如抽样分辨率为l6bit,抽样频率44.1kHz,声音模式为立体声,那么存储l秒钟CD音质的Wave文件,必须要用l6 bit * 44100 Hz * 2 Stereo = 1411200 bit,也就是相当于1411.2kbit的存储容量,存储介质的负担相当大。不过通过MP3
26、格式压缩后,文件便可压缩为原来的1/10到l/12,每l秒钟的MP3只需大约112-128kbit就可以了。3系统设计3.1 系统设计思路1. 由media player控件模板;2. 用Photoshop 7.0处理图片;3. 用WinForm添加代码、控件;4. 用SQL server存储数据;5. 完成设计。3.2 界面设计1由Photoshop 7.0处理各界面需要的图片;2搭建歌曲播放页选歌列表及排序功能;3. 搭建歌曲播放页的media player控件模版;4. 搭建歌曲播放页的刷新 移除歌曲、全部移除功能按钮。3.3 功能详解及程序代码与数据库结构3.3.1 数据库结构与E-R
27、图1、 Music_Select (歌曲选择中间表)如表1-1所示列名类型大小备注idint4主键、自增长musicidvarchar50歌信息曲IDplayvarchar50播放序号datetimedatetime8添加日期表1-12、 Music_Property (歌曲信息存放表)表1-2所示列名类型大小备注idint4主键、自增长Concert_Namevarchar50歌手姓名Chinese_Namevarchar50歌曲名称English_Namevarchar50歌曲拼音Music_Typevarchar50歌曲类型Music_Addressvarchar500歌曲存放路径Lyr
28、ics_Addressvarchar500歌词存放路径Remarksvarchar1000备注DateTimedatetime8添加时间表1-23、 歌曲选择中间表E-R图 如图1-3所示表1-34、 伴奏信息存放表E-R图 如图1-4所示表1-43.3.2 程序定义为便于下面分析程序的方便,故把主要函数名单独列出播放列表u del_no_Click移除单个歌曲播放列目u del_Click移除全部播放列目u select_Click刷新播放列表u MSGrid_RowHeaderMouseDoubleClick选择歌曲加入播放列表u MSGridView_RowHeaderMouseDoub
29、leClick选择歌曲播放3.3.3 程序详解程序设计流程图CBaseRlue主要类详解/获取数据库连接配置PublicstaticstringConString=ConfigurationManager.AppSettingsMusic.ToString();/传入参数返回数据集public static DataSet ExecuteDataset(string executeSQL, CommandType cmdType, SqlParameter dbparameter, string returnTableName, int StartIndex, int PageSize)/获取
30、配置连接SqlConnection conn = new SqlConnection(ConString);/执行SQL语句SqlDataAdapter ad = new SqlDataAdapter(executeSQL, new SqlConnection(ConString); ad.SelectCommand.CommandType = cmdType; if (dbparameter != null) /所循环传入的参数 foreach (SqlParameter ter in dbparameter) SqlParameter meter = new SqlParameter();
31、meter = new SqlParameter(ter.ParameterName, ter.SqlDbType); meter.Value = ter.Value; ad.SelectCommand.Parameters.Add(meter); /构建DataSet结构 DataSet St = new DataSet(); if (StartIndex = 0 & PageSize = 0) /填充数据 ad.Fill(St, returnTableName); else /填充数据 ad.Fill(St, StartIndex, PageSize, returnTableName);
32、/返回DataSet return St; /添删改操作public static int ExecoutNonQuery( string executeSQL, CommandType type, SqlParameter dbparameter) /获取配置连接 SqlConnection con = new SqlConnection(ConString);/执行SQL语句 SqlCommand cmd = new SqlCommand(executeSQL, con); cmd.CommandType = type;/打开数据库 con.Open();/设置数据库回滚事务 SqlTra
33、nsaction tion = con.BeginTransaction(tion); cmd.Transaction = tion; int retur = 0;/错误处理 try if (dbparameter != null) /所循环传入的参数 foreach (SqlParameter ter in dbparameter) SqlParameter meter = new SqlParameter();meter = new SqlParameter(ter.ParameterName, ter.SqlDbType); meter.Value = ter.Value; cmd.Pa
34、rameters.Add(meter); /返回执行语句受影响的条目数 retur = cmd.ExecuteNonQuery();/提交SQL事务 tion.Commit(); catch (Exception ex) /回滚事务 tion.Rollback(); throw ex; finally /关闭CONN连接 con.Close(); /返回影响条目数 return retur; /返回唯一的匹配值 public static int ExecoutScalar(string executeSQL, CommandType type, SqlParameter dbparamete
35、r) /获取配置连接 SqlConnection con = new SqlConnection(ConString);/执行SQL语句 SqlCommand cmd = new SqlCommand(executeSQL, con); cmd.CommandType = type;/打开数据连接 con.Open(); int retur = 0;/错误处理 try if (dbparameter != null) /所循环传入的参数 foreach (SqlParameter ter in dbparameter) SqlParameter meter = new SqlParameter
36、(); meter = new SqlParameter(ter.ParameterName, ter.SqlDbType); meter.Value = ter.Value; cmd.Parameters.Add(meter); /返回匹配记录 retur = int.Parse(cmd.ExecuteScalar().ToString(); catch (Exception ex) throw ex; finally /关闭数据库连接 con.Close(); /返回匹配结果 return retur; 播放页面从歌曲列表向播放列表选取歌曲程序详解鼠标双击左侧歌曲列表的黑色箭头处,提示成功
37、后歌曲将添加到右侧播放列表。 如果该歌曲已添加过系统将会弹出提示警告“该歌曲已添加过” private void MSGrid_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) /标题事件 /获取歌曲列表的行索引 int rows = MSGrid.CurrentRow.Index; /根据行索引获取隐藏ID列的数据 string str = MSGrid.Rowsrows.Cellsid.Value.ToString(); /根据获取的ID值查询该歌曲是否添加过 if (CMusicplayR
38、lue.GetConstMusicSelect(str) != 0)/如果有记录返回值!=0 否则返回值=0 /给出提示框 MessageBox.Show(该歌曲您已添加过,请重新选择!, 提示信息); return;/返回 else /如果没有添加过 /向播放数据表插入获取的歌曲信息的ID if (CMusicplayRlue.GetINMusicSelect(str) != 0) /判断是否插入成功如果成功返回值!=0 失败返回值=0 /给出提示框 MessageBox.Show(歌曲添加成功!, 提示信息); /刷新播放列表,为了及时得到数据库最新数据 MSGridView.DataSo
39、urce = CMusicplayRlue.GetSelectMusic().TablesSelectmusic; else /如果=0 那就是失败了 /给出提示框 MessageBox.Show(歌曲添加失败,请重试!, 提示信息); return; /返回 从播放列表中选取歌曲播放程序详解鼠标双击左侧播放列表的黑色箭头处,歌曲将自动播放。 private void MSGridView_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) /标题事件 /获取播放列表行的索引 int rows =
40、 MSGridView.CurrentRow.Index; /根据获取的行索引去获取隐藏Selectid的值 string str = MSGridView.Rowsrows.CellsSelectid.Value.ToString(); /利用隐藏的label1控件去储存Selectid的值 label1.Text = str; /创建DataTable数据表 DataTable table = new DataTable(); /将从数据库取的的数据赋给刚创建的DataTable table = CMusicplayRlue.GetMusic(str).Tablesset; DataRow row = table.Rows0;/取出数据项 /传送给播放器播放歌曲的路径