歌曲管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华南师范大学增城学院课程设计报告册
2012——2013 学年度一学期
计算机院/系信管专业 10年级一班级课程名称:歌曲管理系统
*名:***
学号: ************
摘要:随着社会的发展,人类的进步,21世纪人们的生活水平有所提高,为了满足人们对生活的需要,丰富的业余生活,就需要有一些娱乐的设施来弥补这些空缺,所以开发了自动点歌系统。

论文详细论述了系统总体设计思想、数据库设计及功能模块设计等,给出了自动点歌系统一般流程。

该系统主要包括:按歌曲类型点歌、按歌曲作者点歌、按歌星点歌、按拼音点歌、按歌曲编号点歌、按歌曲语种点歌极大点歌模块;还可实现对各种歌曲的查询点歌、播放控制歌曲。

第 1 章概述
1.1题目背景
迅速发展的计算机科学技术应用越来越广泛,已经渗透到了人类社会生产和生活的各个领域。

数据库技术是计算机科学技术的一个重要分支,是现代化管理的重要手段,是研究数据共享的一门科学。

近年来,人们利用数据库技术对海量的数据进行处理,然后结合其他技术开发除了各种软件,为人类生活提供了便利。

娱乐是人的一生中不可或缺的部分。

随着现如今经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。

同事,随着生活节奏的加快,每个人都处于忙碌繁乱的社会的那个当中,不论是在家庭,工作场所,或是学校中,无时无刻充满着生活和学习上的压力。

工作之余,找到一种能够换季压力,释放疲劳的娱乐方式,已成为大家共同的愿望。

因此娱乐业在服务行业中占有越来越重要的地位。

然而,受到工作条件和时间的限制,越来越多的人们选择了去KTV唱唱歌,跳跳舞或者在自己家中自娱自乐KTV点歌系统也因此有了广阔的发展前景。

随着KTV行业的迅猛发展,点歌系统在KTV里的重要性越来越大,特别是在面向普通消费者的量版式KTV,投资方在选系统的时候无不练就一双金睛火眼,千挑万选,而且更是在配套设备上重金投入,确保为消费者营造出一个更好的消费环境。

KTV点歌系统被广泛应用于KTV、酒店、酒吧等娱乐场所中。

第 2 章需求分析
2.1 项目的内容及要求。

KTV点歌系统是娱乐场所的一项管理措施,因此开发KTV点歌系统具有较大的社会意义,同时点歌系统是一娱乐软件的开端,它具有简单的软件特征,系统结构与现实生活紧密结合,具体直观,具有典范的便捷软件特点。

KTV点歌系统主要用于对音乐的各项查找,操作简单,直观。

用起来极为方便。

减少了手工操对工作人员带来的不便和繁琐,使每个用户都能根据自己爱好选择自己喜欢的音乐。

因此,KTV点歌系统是企业化、智能化、科学化、正规化不可缺少的管理软件。

它的系统功能要求主要包括:
(1)点播方式:按歌曲种类查找点播;按歌曲的编号查找点播;按歌手的姓名首字母查找点播;
(2)点播曲目管理:选中曲目的优先被点唱,选中曲目的删除。

(3)歌曲播放时的管理:下一首、上一首、暂停、停止。

2.2 可行性分析
开发本系统要从它的经济和技术角度全面考虑,要在利用最少的经济条件把系统的功能实现。

(1)经济可行性。

随着人们生活水平的不断提高,工作压力越来越大,根据这个形式,就需要一些娱乐设施来减轻人们的生活负担,同时还能丰富业余生活。

开发点歌系统是一个很好的方法,它以较低的成本达到人们满意的效果。

本软件的成本费用:目前,在市场上购买一台普通PC机大约需要3000-4000元,此系统开发工作人员的三个月工资大约要10000元,做系统调研及各种资料费等各种费用大约需要5000元。

电费等其他各种费用大约需要1000元。

自动点歌系统是我根据现在人们生活的实际情况,在考虑到系统的可行性:目标和方案可行性,技术可行性,经济方面的可行性等。

因素的基础上进行开发的。

它针对管理中的实际情况,能够解决一些实际问题,对各种歌曲信息进行管理,条理非常清晰,用户便于操作。

而且克服了购买现成软件存在的专用性较差的问题。

当然,它也存在一些不足之处,需要不断的完善。

(2)技术可行性开发语言。

该系统前台我使用Visual Studio 2008作为开发工具,后台数据库使用SQL Server 2005,该软件的开发是在XP操作系统下进行,利用Visual Studio 2008工具进行开发,不需要任何大型的系统软件和应用软件来支持。

该系统是一个多媒体播放的娱乐软件,对该软件的操作不需要高配置的计算机,只要在该计算机上能够运行Windows 98,2000,XP操作系统即可,也不需要高配置的计算机来开发和运行该软件。

综上,开发该管理软件具有技术可行性的。

2.3.开发工具论述 .
本软件为KTV点歌系统,需对各种歌曲进行管理。

因此,本软件前台使用Visual Studio 2008作为开发工具,后台数据库使用SQL Server 2005。

(1)前台开发工具前台使用Microsoft公司的Visual Studio 2008 作为开发工具。

它是一种可视化的,面向对象的数据库开发工具。

它的数据窗口大大地简化了数据库应用程序的开发,是设计数据库应用程序的极好前台工具。

它能够迅速有效的编制程序界面,它的这种快速程序开发环境在界面设计和程序开发中是非常有效的。

Visual Studio 2008提供了大量的控件,利用这些控件可以进行界面设计。

它易学易用,可以大大减少编程人员的工作量,基于以上优点,该系统采用Visual Studio 2008作为开发工具。

(2) 后台数据库后台数据库采用SQL Server 2005来实现。

SQL Server 2005数据库是一种高性能的关系型数据库,它是可以实现一定量的数据处理和管理数据存储。

它可以用数据库查询和程序化语言。

SQL Server 2005通过更新和管理数据来访问数据。

SQL Server 2005(结构化查询语言)作为一种在关系型数据库中定义和操作数据的标准语言,它的最大特点是直观,简单易学,功能丰富,使用方便。

尤其是它的查询语句可以对一个或多个表进行查询,还可以对视图进行查询。

Visual Studio 2008不但是一个高效快速开发数据库应用程序的强大工具,而且也是方便快捷地开发功能完善的Windows应用程序的工具之一。

通过Visual Studio 2008来访问数据库并对其进行各种操作。

与数据库接口相连,建立连接后,通过SQL Server 2005语句或数据窗口与数据窗口控件一起将数据库中的数据信息显示出来。

3章系统分析
3.1可行性分析
山东米亚科技公司是由美国硅谷的MIA公司在济南应对视频市场而独立出来的团队。

团队以专业的视频产品研发应用为主。

主要有:高清网络硬盘播放器,数码广告机,数码相框等产品。

而MIA是2003年在硅谷的科技型企业。

MIA 公司的注册资金为500万美元。

能为这样的公司设计开发多媒体点播控制系统是非常具有现实意义的。

可以从以下三个方面进行可行性分析:
(1)技术可行性。

C#是微软为.NET Framework量身订做的程序语言,C#拥有C/C++的强大功能以及Visual Basic简易使用的特性,是第一个组件导向的程序语言,和C++与Java一样亦为对象导向程序语言。

C# 具有突出的特点:语法简洁、彻底的面向对象设计,并且C#有个的空间,提供了丰富的网络工具类。

因此从技术角度来说,使用C#开发这个系统是可行的。

(2)经济可行性。

本系统属于远程控制网络版广告机的应用系统,可以统
一管理或者定制每个区域,组或着广告机的播放列表,控制其开始播放,停止播放,发送字幕,发送RSS,声音控制,屏幕控制,文件管理等所有功能。

我相信开发好这个系统会更加完善公司的管理系统,给公司带来很好的利润。

(3)操作可行性。

本系统采用ComponentFactory的免费界面控件库Krypton.Toolkit,使程序呈现Office2010的界面风格,简洁大方。

程序中集成了多国语言,含有中文和英语,以满足不同用户。

管理人员不需要具有专业计算机知识,只需简单的培训就可以实现对在线的广告机的的管理。

多媒体点播控制系统可以改变传统广告机都采用插存储卡或者光盘来实现媒体的播放和更换,媒体更新速度缓慢,时效性差,需要专门人员来实现,造成不必要的劳动力浪费等的缺点。

实现了在现如今的互联网时代,利用互联网这一平台和计算机编程技术远程控制播放器的功能,减少了不必要的劳动,它利用各种网络资源实现了足不出户而控制遍布世界的无数个终端的便利,极大的降低了营运的人工成本,提高了效率,顺应了网络化的潮流。

3.2需求分析
通过对米亚公司的网络版广告机的了解,要求系统具有以下功能:
管理播放器,具体有账号管理,开始播放,停止播放,发送字幕,停止字幕,RSS发送,音量控制,屏幕控制,格式化广告机,重启广告机。

配置播放器,具体有播放器的名称,密码,文件格式,IP设置,时间设置,视频输出设置,自动开始设置。

媒体库管理,具体有本地资源,HTTP资源,FTP资源的添加,删除,修改。

播放列表管理,具体有播放列表的生成,修改,删除,设置。

计划播放列表管理,具体有计划播放列表的生成,修改,删除,设置。

播放报告功能,具体有可查看特定时间段,特定广告机,特定媒体的播放报告,并可以导出播放报告。

系统配置,具体有可以设置服务器的端口号,连接超时时间,语言,本地IP。

根据对系统的分析,画出系统的用例图,如图3-1所示。

播放器管理员发送UDP 请求报文
允许连入开始播放
屏幕控制声音控制RSS 发送停止字幕发送字幕<<uses>><<uses>><<uses>>
<<uses>>
<<uses>>
<<uses>>
<<uses>>
<<uses>>
<<uses>>
停止播放<<uses>>
远程重启格式化CF 卡
查看容量
查看播放状态
<<uses>><<uses>>
<<uses>>
<<uses>>配置播放器媒体库管理
播放列表管理计划播放列表管理系统配置
播放报告<<uses>><<uses>><<uses>><<uses>>
<<uses>><<uses>>
图3-1 系统用例图
系统活动图,如图3-2所示。

图3-1 系统活动图
3.3本章小结
本章讲述了开发多媒体点播控制系统之前对该系统进行的可行性分析和需求分析。

系统的可行性分析则主要从技术、经济、操作三个方面进行了分析。

对系统的需求分析确定了系统需要的基本功能。

第4章概要设计
4.1项目规划
多媒体点播控制系统是一个功能完善的远程管理广告机的系统,可以对各个播放器的所有功能进行控制管理和媒体库服务系统,可以快速的编辑播放列表,并下发到某播放器,使其立刻下载播放需要播放的媒体并能返回某播放器当前的状态和播放记录。

主要有七大模块构成:
(1)管理播放器模块
(2)媒体库管理模块
(3)播放列表管理模块
(4)计划播放列表模块
(5)播放报告功能模块
(6)系统配置模块
(7)播放器配置模块
本系统的运行环境:
(1)硬件环境
CPU:P4 3.0 G以上;
内存:1GB以上;
硬盘:硬盘80G;
(2)软件环境
数据库:MySQL5.0以上
.NET运行库:.NetFreamwork2.0以上
操作系统:Windows XP
4.2系统功能结构图
管理播放器模块图,如图4-1所示。

图4-1 管理播放器模块图媒体库管理模块图,如图4-2所示。

图4-2 媒体库管理模块播放列表管理模块图,如图4-3所示。

图4-3 播放列表管理模块计划播放列表模块图,如图4-4所示。

图4-4 计划播放列表模块图播放报告功能模块图,如图4-5所示。

图4-5 播放报告功能模块系统配置模块图,如图4-6所示。

图4-6 系统配置模块播放器配置模块图,如图4-7所示。

图5-7 播放器配置模块图
4.3 本章小结
本章主要对系统进行概要设计,该阶段的设计主要是寻找实现目标系统的各种不同的方案,根据需求分析阶段得到数据流图来设计系统的整体框架。

为了最终实现目标,对系统进行了结构设计,得到系统的七大主要模块。

第5章系统详细设计
5.1 设计目标
本系统是根据山东米亚科技公司的网络版广告机进行设计的远程点播与控制的系统,主要实现如下功能:
(1)客户机远程管理功能
●手动播放
●开始播放
●停止播放
●发送字幕
●停止字幕
●RSS发送
●声音控制
●屏幕控制
●格式化
●查看容量
●重启
●播放状态
●文件列表
(2)媒体库功能
●本地资源
●HTTP资源
●FTP资源
(3)播放列表功能
●制作播放列表
●配置播放列表
(4)计划播放列表功能
●制作计划播放列表
●配置计划播放列表
(5)播放报告功能
● 获取播放报告 ● 筛选播放报告 ● 导出播放报告 (6)服务器设置 (7)客户机设置
5.2逻辑结构设计
5.2.1数据库模型图
本系统数据库采用MySQL 数据库,根据系统功能设计要求,本系统数据库设计如图5-1所示:
图5-1 数据库模型图
5.2.2数据词典
(1)tbdevice表
表5-1 tbdevice表的结构
(2)tbgroup表
表5-2 tbgroup表的结构
(3)tblocation表
表5-3 tblocation表的结构
(4)tbmedia表
表5-4 tbmedia表的结构
(5)tbplaylist表
表5-5 tbplaylist表的结构
(6)tbschedule表
表5-6 tbschedule表的结构
(7)tblist_schedule表
表5-7 tblist_schedule表的结构
(8)tbmedia_playlist表
表5-8 tbmedia_playlist表的结构
(9)tbftpclient
表5-9 tbftpclient表的结构
(10)tbrss
表5-10 tbrss表的结构
(11)tbreport
表5-11 tbreport表的结构
MediaName 文本64 否
PlayTimes 文本11 否
DeviceName 文本20 否
5.3系统主框架布局与实现
系统主框架布局如图5-2所示。

图5-2 系统主框架布局
系统主框架是程序打开时所显示的界面,窗体上测为菜单栏;左侧上部为logo图片,此处图片可以在服务器设置中更改,左侧中部为区域,组,客户机的树形列表视图,左侧下部为模块选择按钮;中间上部为客户机管理命令的控制区域,中间显示的为主界面的模块,主要显示客户机信息,客户机当前绑定的播放列表或者计划播放列表,还有系统日志和CF卡文件列表组成。

系统采用左边栏控制,中间panel动态加载模块的布局方式,主要加载五大模块,分别是主界面模块,媒体库模块,播放列表模块,计划播放列表模块和播放报告模块。

加载模块的主要代码为:
private MediaLib ml = new MediaLib();
ml.Dock = DockStyle.Fill;
panelMain.Controls.Add(ml);
在主界面中可以使用账户管理功能对区域,组,客户机进行添加,编辑和删除。

账户管理由一个向导完成,界面如图5-3所示。

图5-3 账户管理界面
主界面中还可以统一控制区域或者组中的所有客户机,也可以分别控制各客户机的所有功能,比如手动播放,绑定播放列表,绑定计划播放列表,开始播放,停止播放,发送字幕,停止字幕,RSS发送,声音控制,屏幕控制,格式化,重启,查看容量,查看状态等所有的功能。

点击发送字幕按钮后,会打开字幕编辑器窗口,如图5-4所示。

图5-4字幕编辑界面
字幕编辑器可以加载已经保存的字母,也可以手动输入一个字幕信息,并可以对字幕进行设置,可以设置前景色,背景色,透明度,速度和时钟的关闭与打开,并可以直接发送字幕和保存字幕。

字幕的文件格式为第一行为设置的信息,从第二行开始是字幕文本信息。

点击RSS发送按钮后,会打开RSS发送窗口,如图5-5所示。

图5-5 RSS发送窗口
RSS发送窗口中可以添加RSS站点信息到数据库中,并可以删除数据库中的RSS站点信息。

选中左侧已经存储的RSS站点信息后,点击中间的获取,右侧窗口中可以获取到指定RSS站点中的所有标题,并以”>>”分割每条信息。

下面的设置信息和字幕编辑器中的一样。

同样也可以直接发送RSS信息,或者保存为字幕格式。

在客户机停止播放后,可以点击文件列表按钮,可以获得单独一台客户机的CF卡中的文件列表。

获得文件列表以表格形式显示在主界面下面的CF卡选项卡中,如图5-6所示。

图5-6 文件列表
所显示的文件列表信息有文件夹名,文件名,文件大小。

文件/目录一列中,D代表为文件夹,F代表为文件。

在下面的日志中可以显示当前系统运行日志和客户机发送过来的运行日志。

主要有系统网络服务的日志,系统发送与接收的命令的参数日志,客户机状态日志,客户机下载日志等内容。

有关客户机的日志内容前自动添加客户机名称。

日志自动保存在程序目录中的log目录下,以当天的日期.log为文件名。

5.4媒体库模块布局与实现
媒体库模块布局如图5-7所示。

图5-7 媒体库模块界面
媒体库模块主要包括本地资源,HTTP资源和FTP资源的添加,删除。

可以预览本地资源文件,可预览的资源包括字幕文件,图片文件和视频文件。

添加资源文件时需要输入开始日期和结束日期,在系统下一次启动的时间到达资源文件的结束日期后,会自动删除媒体库中的资源文件。

本地资源的添加,需要点击浏览按钮,找到需要添加的资源文件后,默认名称为资源文件名称,也可以更改名称,设置好时间后,添加即可添加完成。

本地资源的添加逻辑为,点击完添加后,系统将资源文件复制到系统文件下的” media lib”文件夹中,然后添加资源信息到数据库中。

单击资源列表中的本地资源可以预览,双击资源列表中的信息可以修改名称和开始日期与结束日期。

HTTP资源的添加,只需要直接在路径文本框中输入以”http://”开头的完整资源路径,在名称中输入资源名称,设置好时间后添加即可。

FTP资源添加界面如图5-8所示。

图5-8 添加FTP资源界面
输入好开始时间和结束时间后,点击站点收藏,会打开站点收藏窗体,如图5-9所示。

图5-9 FTP站点收藏界面
FTP站点收藏界面,可以向数据库中添加FTP信息,可以对数据库中的FTP 信息修改与删除。

在点击左侧从数据库中加载的FTP列表后,点击链接,如链接成功,即可回到图5-8所示界面,并可以显示FTP服务器中的目录与文件结构。

在选择完成需要添加的文件后,点击添加,即可添加完成FTP资源。

FTP资源的添加可以一次添加多个。

向数据库中所添加的FTP资源中的媒体路径包含了FTP的地址,用户名,密码,端口,资源路径等信息,密码采用BASE64加密算法加密。

媒体路径样例:“ftp://meng:eGlhbw==@192.168.0.102:21/pic/你好.jpg”
FTP中的密码加密算法采用BASE64加密算法。

主要代码为:
public string EncodeBase64(string code_type, string code)
{
string encode = "";
byte[] bytes = Encoding.GetEncoding(code_type).GetBytes(code); try
{
encode = Convert.ToBase64String(bytes);
}
catch
{
encode = code;
}
return encode;
}
5.5播放列表模块布局与实现
播放列表模块布局如图5-10所示。

图5-10 播放列表模块
播放列表模块左上方为媒体库中的列表,包含媒体名称,媒体大小,开始时间和结束时间。

右侧为播放列表编辑界面。

下面是播放列表的列表,包含已生成的播放列表。

生成播放列表的步骤为:首先选择左侧的媒体,可以多选,点击”->”按钮,媒体将添加到播放列表编辑界面中,所添加的媒体信息还可以设置每一个的媒体的开始播放时间和结束播放时间,需要设置的话直接点击列表输入即可,输入播
放列表的名称,开始日期和结束日期。

点击添加按钮即可完成播放列表的生成。

如果还需要设置的话,可以在添加前或者双击已生成的播放列表修改时点击设置按钮,将会打开播放列表的设置窗体,如图5-11所示。

图5-11 播放列表设置窗体
在播放列表设置窗体中可以设置图片的播放时间,图片的播放效果,删除选线,是否静音播放和计划下载时间等设置。

点击确定后设置完成,再点击添加或者更新即可完成对播放列表的设置
点击保存可以将当前播放列表另存为播放列表文件。

所生成的播放列表的文件格式为*.mpl格式,名称为数据库中的播放列表编号加playlist。

内容采用写系统配置文件的方式填写。

写系统配置文件采用调用系统API的方式进行读写,主要代码如下:
[DllImport("kernel32")]//返回表示失败,非为成功
private static extern long WritePrivateProfileString(string section, string key,
string val, string filePath);
[DllImport("kernel32")]//返回取得字符串缓冲区的长度
private static extern long GetPrivateProfileString(string section, string key,
string def, StringBuilder retVal, int size, string filePath);
public string ReadIniData(string Section, string Key, string NoText,
string iniFilePath)
{
if (File.Exists(iniFilePath))
{
StringBuilder temp = new StringBuilder(1024);
GetPrivateProfileString(Section, Key, NoText, temp, 1024, iniFilePath);
return temp.ToString();
}
else
{
return String.Empty;
}
}
public bool WriteIniData(string Section, string Key, string Value, string iniFilePath)
{
if (File.Exists(iniFilePath))
{
long OpStation = WritePrivateProfileString(Section, Key, Value, iniFilePath);
if (OpStation == 0)
{
return false;
}
else
{
return true;
}
}
else
{
return false;
}
}
5.6计划播放列表模块布局与实现
计划播放列表模块布局如图5-12所示。

图5-12计划播放列表
计划播放列表模块的页面布局和播放列表模块的布局基本本相似。

左上方显示的是数据库中播放列表,右上方是计划播放列表制作界面,下面是已经生成完毕的计划播放列表。

计划播放列表是包含播放列表的列表,通过它可以自动设置客户机在一周中的每一天播放哪个播放列表,一周星期设置可以通过点击计划播放列表生成界面的星期一列,在弹出的选择对话框中选择。

生成逻辑为,添加完播放列表后,输入名称,有效日期和星期后,在点击添加时,系统会在程序根目录home\sch文件夹中生成一周所有的播放列表,文件名称格式为计划播放列表编号_播放列表编号_playlist.mpl。

当计划播放列表绑定到客户机后,客户机请求播放列表时系统自动找出其当天对应的播放列表发生给客户机。

5.7播放报告模块布局与实现
播放报告模块布局如图5-13所示。

图5-13 播放报告模块
播放报告模块将会显示客户机每天所播放媒体文件的次数。

并可以对报告进行按时间段筛选,按客户机名称筛选,按照媒体名称进行筛选。

筛选方式既可以是多个筛选条件叠加,也可以单独使用每一中筛选方式。

所有的播放报告和所筛选出来的播放报告都可以导出,系统支持播放报告导出为文本格式,Excel格式,Access数据库格式。

导出方法是点击保存按钮,在保存文件对话框中,选择导出文件的格式,输入导出文件的文件名,点击保存即可。

导出的数据可以方便的使用各种处理工具进行处理。

导出后数据如图5-14所示。

图5-14播放报告导出文件
5.8服务器配置模块的布局与实现
服务器配置模块的布局如图5-15所示。

图5-15服务器配置模块
服务器配置模块可以配置多媒体点播控制系统运行所需要设置的各种参数,包括系统的网络端口号,默认5021,如果修改后,客户机端也要更改为同样的端口号;可以设置超时连接时间,由于客户机采用的是长连接方式,每隔一段时间发送一个心跳数据包。

系统为防止客户机非正常掉线后系统端不知道,系统在设计时设定在连接超时时间内如果收不到客户机发回的消息,则证明客户机已经掉线。

释放系统中的该客户机的有关资源;服务器连接书目,即是系统可以挂接的客户机的数目,此处暂定可以连接100台客户机;所设计的系统应山东米亚科技公司要求已经添加进多国语言,现在支持中文和英语两种语言。

Logo为多媒体点播控制系统左上侧logo图片。

本机IP是程序自动获取到的本地IP地址,可以编辑修改。

服务器配置信息存储格式为ini格式,名称为config.ini,存在系统基目录。

5.9客户机配置模块的布局与实现
客户机配置模块的布局如图5-16所示。

相关文档
最新文档