文档库 最新最全的文档下载
当前位置:文档库 › 媒体音乐播放器的设计与实现

媒体音乐播放器的设计与实现

媒体音乐播放器的设计与实现
媒体音乐播放器的设计与实现

毕业设计(论文) 媒体音乐播放器的设计与实现

学生学号

学生姓名

学院名称

专业名称

指导教师

年月日

摘要

为了更好的丰富人们的业余文化生活,提高歌厅管理水平,为消费者提供更加舒适、便利的娱乐环境,笔者设计并实现了一个点歌管理系统。该系统以C#作为开发语言。该系统具有界面友好、操作方便、检索迅速、存储量大等特点。

本文对系统的需求进行了分析,叙述了系统开发的目的和意义,阐述了系统的总体方案设计和数据库设计,重点叙述了各个模块的详细设计方法与设计过程,并对系统实施的相关问题作了介绍。

关键词点歌管理系统;管理系统;系统设计;

Abstract

In order to better enrich the life of people's leisure and cultural, improve the level of karaoke management, to provide consumers with more comfortable and convenient entertainment environment, the author designed and implemented a VOD management system. The system to C # as development language, using SQL Server for data management background, achieving a song play, query by song, query by singer, query by the number of son g’s name. The system has a friendly interface, easy operation, rapid retrieval, large memory capacity, ect. This paper analyzes the system requirements, describes the purpose and significance of system development, described the overall system design and database design, focusing on the various modules described in the detailed design methods and design process, and system implementation-related issues introduced.

Keywords Song Request Management Management System System Design

目录

1 绪论 (1)

1.1课题研究背景 (1)

1.2 系统开发的目的 (1)

1.3系统开发的意义 (1)

1.4 系统开发的内容 (1)

2相关技术分析 (2)

2.1C# 2.0技术 (2)

2.2 Microsoft SQL Server技术 (2)

2.3 MCI简介 (4)

3系统总体方案设计 (6)

3.1系统设计思想 (6)

3.2系统组成设计 (6)

3.3SQL Server 2005语言与数据库的连接 (7)

3.3.1 系统配置的实现 (7)

3.3.2 数据库交互的实现 (8)

4数据库设计 (10)

5系统详细设计 (12)

5.1点歌系统主界面设计 (12)

5.1.1 界面设计 (12)

5.1.2代码设计 (13)

5.2管理员设置设计 (18)

5.2.1界面设计 (19)

5.2.2代码设计 (21)

5.3登录设计 (24)

5.3.1界面设计 (24)

5.3.2代码设计 (25)

5.4查询设计 (25)

5.4.1界面设计 (25)

5.4.2代码设计 (29)

5.5小票打印设计 (29)

5.5.1界面设计 (29)

5.5.2代码设计 (31)

6系统测试与使用方法 (34)

6.1系统测试方法 (34)

6.1.1测试目的 (34)

6.1.2 测试方法 (34)

6.1.3测试内容 (34)

6.2软件维护 (37)

6.2.1 软件维护的影响因素 (37)

6.2.2 软件的可维护性 (38)

6.2.3 提高软件可维护性的方法 (38)

6.3系统使用方法 (38)

结论 (40)

致谢 (41)

参考文献 (42)

附录 (43)

附录1 英文文献翻译 (43)

1. 英文 (43)

2. 中文 (47)

附录2 源代码 (52)

1 绪论

1.1课题研究背景

随着人民生活水平的不断提高,去KTV点歌深受广大消费者的喜爱。点歌系统是为KTV场所开发的视频歌曲点唱软件。一个好的点歌管理软件必须要拥有一个方便、快捷、准确的点歌功能。该点歌管理系统软件具有界面友好、操作简单等特点。开发的点歌系统具有以下功能:对点歌用户,实现简单的播放和选歌功能;另外,对于管理员用户,能够实现对歌库的管理操作,包括对歌曲及歌手的增加、删除;可以实现用户的结账付费功能。

1.2 系统开发的目的

点歌管理系统主要是用来提高公司的管理水平,给消费者更舒适的娱乐环境,它可以帮助消费者更方便的查找自己喜欢的歌曲,更及时地查看歌库所有歌曲。一款优秀的点歌管理系统,可以使消费者的心情更愉快,使管理者的效率更高。

1.3系统开发的意义

随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活中不可缺少的辅助工具。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。它已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。

1.4 系统开发的内容

随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活中不可缺少的辅助工具。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。它已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了多如牛毛的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。以前开发Windows应用软件是专业人员的工作,需要掌握许多专业知识和经过特殊的培训才能胜任。现在我们使用C#也能够开发出功能强大、适合自己特殊需求的应用程序了。

点歌管理系统是一个管理系统,它是以工作C#作为开发平台,以SQL Server2005作为数据库管理系统,实现对后台数据的存储与管理。点歌管理系统主要用来实现歌曲播放、歌曲查询、开户点歌、管理员对歌曲的增加、删除、对歌手的增加、删除、打印小票等功能。

2相关技术分析

2.1C# 2.0技术

C#语言是由两位杰出的微软工程师Anders Hejlsberg 和Scott Wiltamuth领导的小团队开发的。当2000年7月微软发布C#的时候,它的面世只是另一个影响大得多的事件:.NET 平台发布的一部分。去掉伪装,.NET是运行在现有操作系统之上的一个面向对象的操作系统。

C#语言的简单让人倍感轻松——只有大约100个关键字和12种内置数据类型,但C#在实现现代编程概念的表达能力上却非常强大。C#作为站在C++和Java这样的世俗户上的现代评议自然涵盖了结构化、基于组件、面向对象编程的所有支持。

任何面向对象评议的核心在于对类的定义和使用的支持。类定义了新的类型,可以扩展语言,更好地对要解决的问题建模。C#中有声明新的类及其方法和属性的关键字,还含有实现面向对象编程3大支柱——封装、继承和多态——的关键字。在C#中,与类的声明有关的一切都可以声明本身中找到。C#的类定义并不需要独立的头文件或IDL(Interface Definition Language,接口定义语言)文件。而且,C#支持新的XML风格的内嵌文档,大大简化了应用程序的在线和印刷品参考文档制作。C#还支持接口(Interface),一种与类就接口所指定的服务订立协定(contract)的方式。在C#中,类只能从一个父类继承,但可以实现多个接口。在实现接口时,C#类实现上也承诺了要提供接口规定的功能[1]。

需要注意的是,C#支持如下特性:

(1) 使用C++式的指针直接访问内存

(2) 将上述这种操作标记为不安全(unsafe)的关键字

(3) 警告CLR垃圾回收器在指针所引用的对象释放前不要对其进行回收

2.2 Microsoft SQL Server技术

SQL Server 2005 通过在可伸缩性、数据集成、开发工具和强大的分析等方面的革新更好的确立了微软在BI领域的领导地位。SQL Server 2005 能够把关键的信息及时的传递到组织内员工的手中,从而实现了可伸缩的商业智能。从CEO 到信息工作者,员工可以快速的、容易的处理数据,以更快更好的做出决策[2]。SQL Server 2005全面的集成、分析和报表功能使企业能够提高他们已有应用的价值,即便这些应用是在不同的平台上。

SQL Server 2005有几个主要特性,重点关注企业数据管理、开发人员生产力和商务智能[3]。

(1) 高可用性

SQL Server 2005的失败转移集群和数据库镜像技术确保企业向员工、客户和合作伙伴提交高度可靠和可用的应用系统。

(2) 管理工具

SQL Server 2005引进了一套集成的管理工具和管理应用编程接口(APIS),以提供易用性、可管理性、及对大型SQL Server配置的支持。

(3) 安全性增强

SQL Server 2005旨在通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全模型等特性,为企业数据提供最高级别的安全性。

(4) 可伸缩性

SQL Server 2005可伸缩性的先进性包括表格分区、复制能力的增强和64位。

(5)Common Language Run time(CLR)集成

SQL Server 2005引入了使用Microsoft.NET语言来开发数据库目标的性能。

(6) 深入的XML集成

SQL Server 2005提供一种新的XML数据类型,使在SQL Server数据中存储XML片段或文件成为可能[4]。

数据库管理有10个最重要的特点

(1)分析服务

SQL SERVER 2005的分析服务迈入了实时分析的领域。从对可升级性性能的增强、到与微软Office软件的深度融合,SQL SERVER 2005将帮助您,将商业智能扩展到您业务的每一个层次。

(2)数据传输服务(DTS)

DTS数据传输服务是一套绘图工具和可编程的对象,可以用这些工具和对象,对从截然不同来源而来的数据进行摘录、传输和加载(ETL),同时将其转送到单独或多个目的地[5]。SQL SERVER 2005将引进一个完整的、数据传输服务、重新设计方案,这一方案为用户提供了一个全面的摘录、传输和加载平台。

(3)数据挖掘

我们将引进四个新的数据挖掘运算法,改进的工具和精灵,它们会使数据挖掘,对于任何规模的企业来说,都变得简单起来。

(4)报表服务

在SQL SERVER 2005中,报表服务将为在线分析处理(OLAP)环境提供自我服务、创建最终用户特别报告、增强查询方面的开发水平,并为丰富和便于维护企业汇报环境,就允许升级方面,提供增进的性能[6]。

(5) 集群支持

通过支持容错技术移转丛集、增强对多重执行个体的支持、以及支持备份和恢复分析服务对象和数据,分析服务改进了其可用性。

(6)主要运行指标

主要运行指标(KPIS)为企业提供了新的功能,使其可以定义图表化的、可定制化的商业衡量标准,以帮助公司制定和跟踪主要的业务基准。

(7)可伸缩性和性能

并行分割处理,创建远程关系在线分析处理(ROLAP)或混合在线分析处理(HOLAP)分割,分布式分割单元,持续计算,和预制缓存等特性,极大地提升了SQL Server 2005中分析服务的可伸缩性和性能。

(8)单击单元

当在一个数据仓库中创建一个单元时,单元向导将包括一个可以单击单元检测和建议的操作。

(9)预制缓存

预制缓存将MOOLAP等级查询运行与实时数据分析合并到一起,排除了维护在线分析处理存储的需要。显而易见,预制缓存将数据的一个更新备份进行同步操作,并对其进行维护,而这些数据是专门为调整查询而组织的、它们将最终用户从超载的相关数据库分离了出来。

(10)与Microsoft Office System集成

在报表服务中,由报表服务器提供的报表能够在Microsoft SharePoint门户服务器和Microsoft Office System应用软件的环境中运行,Office System应用软件其中包括Microsoft Word和Microsoft Excel[7]。您可以使用SharePoint功能,订阅报表、建立新版本的报表,以及分发报表。还能够在Word或Excel软件中打开报表,观看超文本连接标示语言(HTML)版本的报表。

2.3 MCI简介

MCI(Multimedia Control Interface)是Windows系统定义的多媒体接口标准,MCI接口包括了CDAudio(激光唱机)、Scanner(图像扫描仪)、VCR(磁带录像机)、Videodisc(激光视盘机)、DAT(数字化磁带音频播放机)、Digital Video(窗口中的数字视频)、Overlay(窗口中的模拟视频叠加设备)、MMMovie(多媒体影片演播器)、Sequencer(MID音序设备)、WaveAudio(波形音频设备)和Other(未定义的MCI设备)等多媒体的主要产品。MCI的最大优点是应用系统与设备的无关性,对于标准多媒体设备,安装相应的Windows的MCI Driver,Windows即可对该设备进行操作访问;对于非标准的多媒体设备,只要有厂家提供的MCI Driver也一样可以操作。由于MCI的设备无关性,程序员在多媒体应用系统的开发中,无需了解每种产品细节,就能开发出通用的多媒体应用系统。那么在C#.NET中如何使用MCI 呢?它是通过C#.NET控件提供的功能来实现的。

MCI控件是C#.NET提供的一个技件,可以使用它来管理媒体控制接口(MCI)设备,编写多媒体应用程序。

MCI是ActiveX控件,一般情况下,该控件不出现在工具箱里,可以按照如下步骤将它加入到工具箱中:

在工具箱中单击鼠标右键,在弹出的快捷菜单中选择"选择项"命令,弹出"选择工具箱项"对话框,在"COM组件"选项卡中选中Microsoft Multimedia Control前的复选框,单击"确定"按钮即可将控件加入到工具箱中。

当将MCI控件加入到工具箱中后,可以将该控件拖曳到窗体上。

该控件由一组执行MCI命令的按钮组成,与通常使用的录放机上的按钮类似。

例如,单击"播放"按钮的事件是AxMMContyrol1_PlayClick。MCI控件在设计或运行时可以是可见的或隐藏的,其按钮功能也可以通过鼠标Click事件重新定义。

Windows API的多媒体和资源文件的高层控制MCI进行封装,使读者不必研究MCI的内部函数,轻松调用API类的函数,就能实现播放视频文件。Windows已经提供了一个关于多媒体处理的动态链接库WINMM.DLL,并通过调用它所提供的API 函数,就可以使用MCI指令进行多媒体方面的操作了。

当需要使用MCI按钮功能时,必须将该按钮的属性(Visible和Enabled)设为True;若不需要该按钮时,必须设置Visible属性为False;若使该按钮功能当前无效时,设置Enabled属性为False。

在Windows 2000或XP中,对各种多媒体设备提供了强有力的支持。

MCI的全称是Media Control Interface(多媒体控制接口),为各种多媒体设备,用MCI函数可以给上述的任何一种设备发出命令,告诉他们开始,结束,暂停,倒退,快进等,就像按动播放器面版上的按钮一样。每一个设备的特殊命令依赖于设备本身的功能,例如可以让波形音频设备录音等。实际上MCI是一个高级的函数调用接口,可以把它看作一个解释器,通过它,就可以直接和外部音频或视频设备打交道了。

图3-1功能结构图

3 系统总体方案设计

3.1 系统设计思想

点歌管理系统主要是用来管理数据库内的歌曲,并让消费者在可视界面下运行软件。所以,该系统需要实现以下功能。

(1) 管理员能实现歌曲的添加、删除;歌手的添加、删除、歌手信息的修改。 (2) 管理员设置房间的价格、会员卡的折扣等。

(3) 消费者能实现根据歌手地区、性别、歌手的拼音、歌曲名字数、歌曲类别查询。 (4) 消费者可以查看或编辑播放列表,也可以清空播放列表。 其结构如图3-1所示。

使用点歌管理系统是为了提高管理效率及方便消费者,所以该系统应提供方便快捷的可视化界面,帮助用户高效率的完成想要的操作。考虑这些因素,点歌管理系统应达到以下目标:

(1) 提供多条件查询功能,方便用户查询歌库内的歌曲、歌手情况的各种数据。 (2) 提供多条件查询功能,方便用户查询指定歌曲、歌手的信息。 (3) 提供快捷的播放功能,及时更新数据库内的数据。 (4) 提供人性化的界面,能够为用户提供快速的查询。

根据以上分析,一个标准的点歌管理系统应该包括增加歌曲、删除歌曲、增加歌手、删除歌手、歌曲查询、歌手查询、拼音查询、歌曲数查询、单曲循环、全部循环等功能。

3.2 系统组成设计

根据系统分析本系统主要共有5个查询界面,主界面,打印结账界面,登录界面。 (1) 歌手查询

点歌管理系统

管理员

增加歌曲

删除歌曲

增加歌手

删除歌手

设置打折率

消费者

按歌名查询

按歌手查询

按歌曲数查询

按歌手拼音查询

编辑播放列表

按歌曲类型查询

设置包间价格

打印小票

歌手查询模块主要是用户根据歌手的名称来查询歌库内歌曲。查询时,用户可在文本框内输入想要查找的歌手,在该界面中的列表控件内会列出此时数据库内的所有相关歌曲,双击选择歌曲并添加到播放列表中。

(2) 歌名查询

歌名查询模块主要是用户根据歌曲的名称来查询歌库内歌曲。查询时,用户可在文本框内输入想要查找的歌曲名称,在该界面中的列表控件内会列出此时数据库内的所有相关歌曲,双击选择歌曲并添加到播放列表中。

(3) 歌曲名字数查询

歌曲名字数查询模块主要是用户根据歌名数字查询歌库内歌曲。查询时,用户可在文本框内输入想要查找的数字,在列表框内系统会列出此时数据库内所有相关歌曲,双击选择歌曲并添加到播放列表中。

(4) 歌手拼音查询

歌手拼音查询模块主要是用户根据歌手的名称来查询歌库内歌曲。查询时,用户可在文本框内输入拼音,获取数据库内相关歌曲信息,双击选择歌曲并添加到播放列表中。

(5) 歌曲类型查询

该模块主要是通过下拉列表框选择数据库内的歌曲,用户点击下拉箭头时,系统会自动绑定此时数据内己有的歌曲类型,用户只要选择,就会在列表框内查找出此时歌库内相关歌曲,双击选择歌曲并添加到播放列表中。

(6) 主界面

该窗体用于管理员登录与普通用户点歌。管理员登录时,需点击界面上方的登录按钮,正确操作后才可进入管理员界面。普通用户可以直接在该界面进行点歌操作。

(7) 登录界面

该窗体主要用于区别用户类型,方便管理员操作数据库数据。

(8) 打印界面

该窗体主要用于用户结账,选择房间号,系统自动绑定相关信息,直接结账或打印预览。

3.3SQL Server 2005语言与数据库的连接

3.3.1 系统配置的实现

系统设有配置文件DataOperate.ini,数据库文件内放置着系统连接时登录名、密码、数据库名及可执行文件名,从数据库登陆的配置文件中读取值并赋给全局变量。读取数据库文件代码如下:

public static bool readDBInfo()

{ try {

String strIniPath = System.Windows.Forms.Application.StartupPath + @"\DataOperate.ini";

if (File.Exists(strIniPath)) {

ClsOperateIni myIniFile = new ClsOperateIni(strIniPath);

ClsOverallVar.SetPattern(int.Parse(myIniFile.IniReadValue("DATA", "Pattern"))); ClsOverallVar.SetServerName(myIniFile.IniReadValue("DATA", "Server")); ClsOverallVar.SetServerId(myIniFile.IniReadValue("DATA", "Id"));

ClsOverallVar.SetServerPwd(myIniFile.IniReadValue("DATA", "Pwd"));

ClsOverallVar.SetDBName(myIniFile.IniReadValue("DATA", "DBName"));

return true; }

else {

return false;

} }

catch {

return false;} }

3.3.2 数据库交互的实现

C#连接数据库实现:

public static SqlConnection GetConnection()

{ String strSource;

if (ClsOverallVar.GetPattern() == 0) {

strSource = "Server=.\\SQLEXPRESS;integrated security=SSPI;Initial Catalog='" + ClsOverallVar.GetDBName() + "'";}

else {

strSource = "database=" + ClsOverallVar.GetDBName() + ";Server=" + ClsOverallVar.GetServerName() + ";uid=" + ClsOverallVar.GetServerId() + "; pwd=" + ClsOverallVar.GetServerPwd() + ";"; }

SqlConnection myConn = new SqlConnection(strSource);

myConn.Open();

myConn.Close();

return myConn; }

C#连接SQL Server数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的!

using System.Data;

using System.Data.SqlClient;

strSource这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源。

GetServerName()、GetServerId()、GetServerPwd()都是直接从ini文件中读取的,这里的GetPattern()值有两个,”0”和”1”,其中0表示本地登录,1表示远程登录。使用本地登录还是远程登录只需在系统可执行文件夹下找到DataOperate.ini配置文件,修改里面的相关文件即可实现相应的数据库的连接。部分代码如下:

ClsDataContact.readDBInfo();

若为本地连接,则此处的“initial catalog=’”+clsoverallvar.getdbname()+”’”:使用的数据源则为“Music”这个数据库。

在这里,建立连接对象用的构造函数为:SqlConnection。

由于系统频繁的调用数据库,而对数据的操作分为查找数据和更新数据操作两种,更新数据时不需要返回值,所以系统利用DBOperation类封装了对数据库操作的方法,以提供统一的数据库操作接口[8]。利用DBOperation类GetDataTableBySql方法可以进行查找数据函数返回一个DataTable表,DoSqlString方法可以执行一个SQL语句,进行插入、删除、修改操作。

4数据库设计

本系统数据库包括管理员表、歌曲信息表、歌手信息表、包间类型表、折率表、开

户点歌表及用户播放列表。

(1) 管理员表(admin)

管理员表主要包括管理员名称及密码。表结构如表4-1所示。

表4-1 管理员表

字段名称含义数据类型可否为空

Admin 用户名称Varchar(50) NO

adminpwd 起始日期varchar(50) NO

(2) 歌曲信息表(musiclist)

歌曲信息表主要包括歌曲名称、歌曲内码、歌手名、歌曲名字数、歌曲类别、歌曲类

型、歌曲存储路径。表结构如表4-2所示。

表4-2 歌曲信息表

字段名称含义数据类型可否为空

Gsname 歌手名称varchar(50) NO

Gqname 歌曲名称varchar(50) NO

Gqnum 歌曲数varchar(50) NO

Gqtype 歌曲类别varchar(50) NO

Format 歌曲类型varchar(50) NO

Path 歌曲路径varchar(200) NO

Gqlogo 歌曲内码int NO

(3) 歌手信息表(singer)

歌手信息表主要是存放歌手个人信息,便于用户采用不同类型的查询。表结构如表4-3

所示。

表4-3 歌手信息表

字段名称含义数据类型可否为空

Sinnam 歌手名称varchar(50) NO

Sinsex 歌手性别varchar(50) NO

Spinyin 歌手拼音varchar(50) NO

Sinarea 歌手地区varchar(50) NO

Slogo 歌曲内码Int NO

(4) 包间类型表(room)

包间类型表主要是存放包间价格、时间、包间类型,包间类码。表结构如表4-4所示。

表4-4 包间类型表

字段名称含义数据类型可否为空

roomtype 包间类型varchar(50) YES

Price 包间价格varchar(50) YES

Time 时间varchar(50) YES

roomlogo 包间类码varchar(50) NO

(5) 折率表(abate)

打折率表主要是存放管理员设置的会员率、会员类型、会员类码。表结构如表4-5所示。

表4-5折率表

字段名称含义数据类型可否为空

cardtype 会员级别varchar(50) YES

Abate 打折率varchar(50) YES

Viplogo 会员内码varchar(50) NO

(6) 开户点歌表(money)

开户点歌表主要用于存放用户消费时选择的包间类型、用户的会员等级、充值、开户

时间及房间号。表结构如表4-6所示。

表4-6开户点歌表

字段名称含义数据类型可否为空

roomnum 房间号nvarchar(50) YES

roomtype 包间类型nvarchar(50) YES

cardtype 会员等级nvarchar(50) YES

Money 充值金额Float YES

userlogo 用户内码Int NO

Uncost 消费金额nvarchar(50) YES

begintime 开始时间Datetime YES

(7) 用户播放列表(likemusic)

用户播放列表主要方便用户存放自己喜欢的歌曲,其中包括歌曲名、歌手名、歌曲类

型、歌曲名称数及歌曲路径。表结构如表4-7所示。

表4-7用户播放列表

字段名称含义数据类型可否为空

gsname 歌手名称varchar(50) NO

gqname 歌曲名称varchar(50) NO

Gqnum 歌曲数varchar(50) NO

Gqtype 歌曲类别varchar(50) NO

Path 歌曲路径varchar(200) NO

Gqlogo 歌曲内码Int NO

(8) 歌曲类型表(type)

表4-8歌曲类型表

字段名称含义数据类型可否为空

Lxlogo 类型内码Int NO

Lxname 类型名称nvarchar(50) YES

5系统详细设计

5.1点歌系统主界面设计

5.1.1 界面设计

点歌系统主窗体是用来播放数据库内歌曲。主要可以实现用户对列表框内的歌曲进行

下一首、上一首、增加音量、减小音量、快进、快退、全屏功能。管理员登录时的数据库操作及开户点歌功能。可以播放的音乐格式有mp3,wmv,wma格式,双击列表框内的歌曲进行歌曲的播放。

根据点歌系统主界面所要实现的功能,需要在界面上添加如下控件:windows media player,skinEngine,timer,toolstrip,button(按钮)控件。上一首按钮,就是为了实现上一首歌曲的播放;下一首按钮为了实现下一首歌曲的播放;增加音量按钮,就是为实现音量的增加;减小音量按钮,就是为了实现音量的增加,快进按钮是为了实现快进播放功能;快退按钮是为了实现快退功能;skinEngine是为了使界面运行时更美观。toolstrip控件是为了区别普通用户与管理员的登录。全屏按钮,就是为了实现屏幕的全屏播放,按歌曲查询按钮用来实现用户能够根据歌曲名称查询歌库内的歌曲,并双击选择歌曲添加到用户

播放列表。其它控件可类似。各主要控件的属性如表5-1所示。

表5-1点歌系统主窗体主要控件属性

控件属性属性值

点歌系统(Form1) Name Form1 Text 点歌系统

Windows media player Name myplayer URL null

Button1 Text 上一首Button2 Text 下一首Button3 Text 增加音量Button4 Text 减小音量Button5 Text 快进>> Button6 Text 快退<< Button8 Text 停止Button9 Text 播放/暂停Button10 Text 开户点歌Button11 Text 管理员设置Button12 Text 按歌曲类别查询Button13 Text 按歌曲名称查询Button14 Text 按拼音查询Button15 Text 按歌手查询

续表5-1

Button16 Text 清空播放列表

Button17 Text 己点歌播放列表

Label1 Text 此时播放歌曲时间的

当前进度

Label2 Text 当前播放歌曲总时间设计完成的安排工作界面如图5-1所示。

图5-1 点歌系统主界面

5.1.2代码设计

(1) 当用户双击列表框内的歌曲时,将触发listView1_DoubleClick()事件,并且直接播放当前选中的歌曲,部分代码如下:

private void listView1_DoubleClick(object sender, EventArgs e)

{ if (this.listView1.SelectedItems.Count > 0) {

myplayer.currentMedia=myplayer .newMedia (listView1 .SelectedItems [0].SubItems [3].Text );

string fname = this.listView1.SelectedItems[0].SubItems[3].Text;

myplayer.URL = fname;

this.button9.Text = "暂停";

timer1.Enabled = true;} }

(2) 当用户当击上一首按钮时,系统将先判断当前选择行是不是第一行,如果为第一行则手动设置列表框中的最后一行下标为当前选中行,并设置其可见状态,可以让用户知道当前选中的歌曲,最后实现上一首歌曲的播放,代码如下:

private void button1_Click(System.Object sender, System.EventArgs e)//上一首

{ int a = this.listView1.Items.Count - 1;

try {

if(this.listView1.SelectedItems.Count>0&&this.listView1.Items.Count > 0) {

if (listView1.SelectedItems[0].Index <= this.listView1.Items.Count - 1 && this.listView1.Items.Count > 1 && this.listView1 .SelectedItems [0].Index >0) {

index = listView1.SelectedItems[0].Index;

myplayer.URL=listView1.Items[listView1.SelectedItems[0].Index-1].SubItems[3].Text;

listView1.Items[index].Selected = false;

listView1.Items[index - 1].Selected = true;

listView1.Focus(); }

else { listView1.Items [0].Selected = false;

listView1.Items[a ].Selected = true;

listView1.Focus();

myplayer.URL=this.listView1.Items[a].SubItems[3].Text; } }

else { MessageBox.Show("列表中没有歌曲!"); } }

catch { }}

(3) 当用户当击下一首按钮时,系统将先判断当前选择的行是不是最后一行,如果为最后一行则手动设置列表框中的第一行为当前选中行,并设置其可见状态,可以让用户知道当前选中的歌曲,然后再实现下一首歌曲的播放,代码如下:

int index = 0;

private void button2_Click(System.Object sender, System.EventArgs e)

{ try {

if (this.listView1.SelectedItems.Count > 0 && this.listView1.Items.Count > 0) {

if(listView1.SelectedItems[0].Index 1) {

index = listView1.SelectedItems[0].Index;

myplayer.URL = listView1.Items[index + 1].SubItems[3].Text;

listView1.Items[index].Selected = false;

listView1.Items[index + 1].Selected = true;

listView1.Focus(); }

else{

listView1.SelectedItems[0].Selected = false;

listView1.Items[0].Selected = true;

listView1.Focus();

myplayer.URL = this.listView1.Items[0].SubItems[3].Text; } }

else { MessageBox.Show("列表中没有歌曲!");} }

catch{ } }

(4) 当用户当击增加音量按钮时,系统会调用播放器控件的增加音量事件,使播放器增加音量,部分代码如下:

keybd_event(175, 0, 0, 0);//增加音量

(5) 当用户单击减小音量按钮时,系统会调用播放器控件的减小音量事件,使播放器降低音量,部分代码如下:

keybd_event(174, 0, 0, 0);

(6) 当用户单击快进按钮时,系统调用播放器控件的fastForward()方法,使播放器实现快进的功能,部分代码如下:

myplayer.Ctlcontrols.fastForward();//快进

(7) 当用户单击快退按钮时,系统调用windows media player控件的fashReverse()方法,使播放器实现快退的功能,部分代码如下:

myplayer.Ctlcontrols.fastReverse();

(8) 当用户单击停止按钮时,系统调用播放器控件的stop()方法,并且停止时间控件的运行,使其可用状态设为false,手动拖动条值设为0,使播放器实现停止播放的功能,部分代码如下:

timer1.Enabled = false;

myplayer.Ctlcontrols.stop();

trackBar1.Value = 0;

button9.Text = "播放";

(9) 用户单击按歌曲类别查询时,将弹出歌曲类别查询窗体。本系统设计了一个歌曲

音乐播放器的详细设计

音乐播放器详细设计 1.引言 随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。而3G时代的到来,手机移动应用越来越普遍。此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。 1.1 编写目的 为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。本文档供项目组成员,软件开发人员参考。1.2项目背景 本项目由李雪梅、杨挺等人提出,由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。 该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。 1.3 参考资料 [1] 重庆大学出版社《软件工程》“软件计划与可行性分析” [2] 靳岩、姚尚明人民邮电出版社《Android开发入门与实践》 [3] 可行性分析 [4] 《音乐播放器需求分析书》 [5] 《音乐播放器总体设计说明书》 1.4项目开发计划 实施计划:

阶段名称负责人 需求分析杨挺、李雪梅 总体设计李雪梅、杨挺 详细设计李雪梅、杨挺 软件测试李雪梅、杨挺 在技术方面,编程知识比较缺乏,对有些与项目相关的软件 不熟悉,需进行人员的技术培训(自学为主),技术难点是数据库的构架和软件功能的设计。 2. 总体设计 2.1 项目目的 本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。设计的主要实现功能是播放MP3等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取 存储卡播放等多种播放控制,界面简明,操作简单。 软件系统检测到错误行为时,报告错误,并提示处理操作。 2.2 软件运行环境 硬件:Android操作系统手机 系统软件:Android 2.2 -- 4.0版本 支撑软件:Eclipse 7.5 、ADT 1.5 2.3 需求概述

基于labview的音乐播放器设计

成绩: 《虚拟仪器技术及应用》 课 程 设 计 题目:基于LabVIEW的音乐播放器程序设计 学期:2013~2014学年第一学期 指导教师: 姓名: 学号: 年级、专业:

目录

基于LabVIEW的MP3程序设计 1程序设计背景 MP3是利用人耳对高频声音信号不敏感的特性,将时域波形信号转换成频域信号,并划分成多个频段,对不同的频段使用不同的压缩率,对高频加大压缩比(甚至忽略信号)对低频信号使用小压缩比,保证信号不失真。 MP3的工作原理:从内存中取出并读取存储器上的信号→到解码芯片对信号进行解码→通过数模转换器将解出来的数字信号转换成模拟信号→再把转换后的模拟音频放大→低通滤波后到耳机输出口,输出后就是我们所听到的音乐了。 经过几年的发展MP3已经走进了千家万户,使用者也遍布各个年龄段和各个文化阶层。从最初的简单MP3播放器,到现在的手机,平板等便携设备自带的MP3播放器,MP3播放器已经走向大众,并演化为人们生活不可缺少的一部分,车上会有车载MP3,电脑手机平板上的MP3也是必不可少,总之,已经人们时时刻刻都已经在享受着MP3带来的快乐。 2程序设计思路 2.1程序整体设计思路 该虚拟仪器—MP3播放器,主要用于播放已存储计算机磁盘中的音乐文件。它是将播放器的系统装入计算机,以通用的计算机硬件及操作系统为依托,实现音乐功能的。VI程序设计里,默认容易识别的格式为WAV格式,所以在设计MP3时采取调用的方法,本系统主要利用labview的Activex,属性节点,调用节点,Eventstructure等控制实现的。MP3音乐播放器界面包括播放歌曲名字,播放路径以及停止按钮。 2.2程序流程设计 程序流程设计:设定路径,判定路径是否有效→无效报错;有效,执行下一阶段程序→调用媒体播放器,编写歌名显示和文件路径显示,设置停止功能按钮→程序结束。 本程序主要涉及到一下控件或结构的使用: (1)事件结构:包括一个或多个子程序框图或事件分支,结构执行时,仅有一个子程序

音乐播放器的设计与实现

德州学院信息管理学院 课程设计报告实习名称课程设计2 设计题目Android音乐播放器的设计与实现实习时间 专业班级12级计算机科学与技术 指导老师刘想 教学单位(盖章) 小组成员分工情况: 学号姓名分工 3018 周生明音乐播放的设计与实现1052曹法瑞 1040 张正奎 1055 李元华 2049 王山 二〇一五年六月三十日

目录 摘要 ................................................................................................................ 错误!未定义书签。 1 引言 ............................................................................................................ 错误!未定义书签。 2 可行性分析................................................................................................. 错误!未定义书签。 2.1 技术可行性...................................................................................... 错误!未定义书签。 2.2 经济可行性...................................................................................... 错误!未定义书签。 2.3 管理可行性...................................................................................... 错误!未定义书签。 2.4 可行性分析结论.............................................................................. 错误!未定义书签。 3 系统需求分析............................................................................................. 错误!未定义书签。 3.1 功能分析.......................................................................................... 错误!未定义书签。 3.2 数据流程分析.................................................................................. 错误!未定义书签。 4 系统功能设计............................................................................................. 错误!未定义书签。 4.1 播放器功能结构.............................................................................. 错误!未定义书签。 4.1.1 播放器主界面功能模块....................................................... 错误!未定义书签。 4.1.2 播放器菜单功能模块........................................................... 错误!未定义书签。 4.2 播放器功能流程.............................................................................. 错误!未定义书签。 5 系统实现..................................................................................................... 错误!未定义书签。 5.1 播放器主界面功能列表.................................................................. 错误!未定义书签。 5.2 播放器基本功能的实现.................................................................. 错误!未定义书签。 5.3 播放列表的实现.............................................................................. 错误!未定义书签。 6 软件测试与验证......................................................................................... 错误!未定义书签。 6.1 软件测试的目的.............................................................................. 错误!未定义书签。 6.2 软件测试的方法.............................................................................. 错误!未定义书签。 6.3 软件测试环境.................................................................................. 错误!未定义书签。 6.3.1 android模拟器 ...................................................................... 错误!未定义书签。 6.3.2 真机测试............................................................................... 错误!未定义书签。 6.4 软件测试流程与结果评估.............................................................. 错误!未定义书签。 6.4.1 测试流程............................................................................... 错误!未定义书签。 6.4.2 结果评估............................................................................... 错误!未定义书签。

课程设计简易单片机音乐播放器

课程设计 题目:基于单片机音乐演奏曲Title: instrumental music based on single chip 姓名: 学号: 系别: 专业: 年级: 指导教师: 2012年5 月25 日

摘要 单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本设计以At89c2051为核心,主要由电源电路、复位电路、音频放大电路、时钟电路和数码管电路和蜂鸣器电路构成单片机奏乐附加时钟的一个小系统。电路中I/O口采用分时复用的借口技术,使AT89c2051单片机的引脚资源得以充分利用,本系统的电路简单,实现的功能强大,所用芯片比较便宜,性价比较高。 关键词:At89c2051,数码管,单片机奏乐,分时复用

目录 摘要 ........................................................... - 1 - 1.引言 (3) 2.系统整体结构 (4) 2.1系统总设计 (4) 2.2实现的功能 (4) 2.3主要芯片介绍 (4) 2.3.1 AT89c2051芯片介绍 (4) 3.系统硬件设计 (5) 3.1键盘输入模块 (5) 3.2时钟模块 (5) 3.3显示模块 (6) 3.4复位电路 (6) 3.5蜂鸣器电路设计 (7) 4.系统软件设计 (7) 4.1系统主程序流程图系 (7) 4.2 部分子程序流程图 (8) 结束语 (10) 参考文献 (10) 致谢 (11) 附录 (11)

1.引言 随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的各种系统也越来越多。同时也标志了自动控制领域成为了数字化时代的一员。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。 本次设计为单片机奏乐器,硬件部分它以单片机AT89C2051为核心,由功放电路、数码管等组成。当接上电源按下开关时,就能听到优美的旋律。当然这些音乐都是通过软件编程实现的,把它存储在存储器里,根据存储容量大小决定存储音乐的数目。 [2]

嵌入式MP3播放器的设计

嵌入式MP3播放器的设计 1 系统概述 本文采用STM32系列微控制器,结合解码芯片VS1003、SD卡、LCD等外围设备设计并实现了MP3播放器。其主要功能有:播放VS1003支持的所有音频文件,如MP3、WMA、WAV文件,且音质非常好;通过触摸屏实现按键功能,控制播放上一首/下一首、音量增减等;通过LCD显示歌曲名字和播放状态;本系统还实现了读卡器功能,PC机可通过USB接口直接对开发板上的SD卡进行读写操作,以方便拷贝音频文件。 MP3播放过程是STM32通过SPI1接口将数据从SD卡中取出,然后通过SPI2接口送至解码芯VS1003解码播放。这里解码模块单独使用一个SPI接口,以减小干扰和噪声、提高音质。 2 系统硬件设计方案 本系统在硬件上分为6个模块: 微控制器STM32F103、解码模块VS1003、存储模块SD卡、触摸屏、USB接口和显示屏LCD。系统硬件框架如图5所示。 VS1003 STM32 图5 系统硬件框架图 2.1 存储模块设计 SD卡在现在的日常生活与工作中使用非常广泛,时下已经成为最为通用的数据存储卡。在诸如MP3、数码相机等设备上也都采用SD卡作为其存储设备。SD卡之所以得到如此广泛的使用,是因为它价格低廉、存储容量大、使用方便、通用性与安全性强等优点。SD卡支持两种总线方式: SD方式与SPI方式。其中SD 方式采用6线制,而SPI方式采用4线制,采用单片机对SD卡进行读写时一般都采用SPI模式。可用不同的初始化方式使SD卡工作于SD方式或SPI方式。 在本设计中,音频数据MP3文件是以SD卡为载体。所以在电路设计中必须含有读取SD卡模块。该系统使用STM32内部接口SPI1与SD卡进行通信,下面介绍其引脚连接情况。 PE3:低电平有效,连接到SD卡的片选引脚CD/DAT3。SPI在和SD卡进行通

基于51单片机的音乐播放器设计

题目:音乐播放器 课程设计(论文)任务书

摘要 随着电子技术的发展和计算机越来越普遍的使用,单片机作为这两项技术的有机结合也得到了广泛的应用,在某些领域具有不可替代的作用。音乐播放功能随处都会用到,如,在开发儿童智力的玩具中,等等。目前,基于单片机实现音乐播放,其体积小、价格低、编程灵活等特点在这一领域独领风骚。 单片机的英文名称为single chip microcomputer,最早出现在20世纪70年代,国际上现在已逐渐被微控制器(Microcontroller Unit 或MCU)一词所取代。它体积小,集成度高,运算速度快,运行可靠,功耗低,价格廉,因此在数据采集、智能化仪表、通讯设备等方面得到了广泛应用。而8051单片机在小到中型应用场合很常见,已成为单片机领域的实际标准。随着硬件的发展,8051单片机系列的软件工具也有了C级编译器和实时多任务操作系统RTOS,为单片机编程使用C语言提供了便利的条件;并针对单片机常用的接口芯片编制通用的驱动函数,可针对常用的功能模块,算法等编制相应的函数;C语言模块化程序结构特点,可以使程序模块大家共享,不断丰富,这样就使得单片机的的程序设计更简单可靠,实时性强,效率高。作为测控技术与仪器的学生,掌握8051单片机硬件基础及其相关软件操作,将其应用于现代电子产品中是必要而且重要的,这次课程设计我们的题目是用单片机实验箱系统制作音乐播放器。 本次课程设计主要内容是通过单片机C51语言进行编程,以产生乐曲音符和节拍,把乐谱翻译成计算机语言(音符转换诚成相对应的方波频率即定时器装载初值,节拍转换成相对应的延长时间),并将其预先存储到单片机里,然后根据按键调用再由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声,实现音乐播放的功能。其主要表现在可以播放十首歌曲,可以用十个数字键控制播放的歌曲,并且能在LCD液晶屏显

音乐播放器设计文档

生产实习报告 题目:音乐播放器 学生姓名:张凡 学号: 201220220123 班级: 1222201 专业:数字媒体技术 指导教师:张金 2015年08 月08日

目录 一、引言 (3) 1.1 项目背景 (3) 1.2 项目研究的目的 (4) 1.3 安卓简介 (4) 二.功能分析 (5) 2.1 功能需求分析 (5) 2.2 系统性能需求 (6) 2.3 运行环境需求 (6) 三.程序详细设计 (6) 3.1 主界面的设计 (6) 3.2 播放界面设计 (11) 3.3 其他功能 (14) 四.调试与运行 (18) 4.1 调试 (18) 4.2 运行结果 (19) 五.总结 (21)

一、引言 1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windows mobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。

单片机课程设计报告简易音乐播放器

第一章前言 伴随着科技的发展和时代的进步,人们对生活质量的要求也越来越高,由以前简单的追求温饱和物质财富转向更高层面的精神追求!而这一切催生了智能仪器的发展,音乐则是人们娱乐生活的重要组成部分,目前市场上出现了许许多多的音乐播放器,而人们对播放器的功能需求也越来越广泛,本文将设计一个基于单片机的音乐播放器,通过对其全面的介绍与分析,让大家了解音乐播放器的原理! 第二章: 简易音乐播放器的功能和原理说明 音乐播放器,可以通过单片机板子上的数字按键对音乐播放的曲目进行控制,并且通过LED灯将播放的音乐加以区分,在播放音乐的同时点亮LED灯,让人知道现在正在播放的音乐曲目,从而实现简单的音乐播放功能! 表1 需求分析 功能说明:这次设计是依据单片机技术原理,通过硬件电路设计以及软件的编译而设计的一个简单的音乐播放器,可以通过按键选择播放四首歌曲(歌曲自选,只要将想要播放的歌曲的乐谱写入程序中即可)同时点亮相应的LED灯,并用它来指示当前播放的歌曲序列,只能实现简单的音乐播放功能。 原理说明:这个音乐播放器主要有晶振电路,复位电路,LED电路,按键电路以及扬声器组成。它利用单片机产生乐曲音符,再把乐曲音符翻译成计算机音乐语言,接着用单片机进行信息处理,再通过蜂鸣器或喇叭放出音乐。音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制扬声器发音。通常利用单片机的内部定时器0,工作在方式1下,再改变计数初值TH0和TL0来产生不同频率。当控制歌曲按键按下时,按照预先存放在单片机中的程序,就

会自动判断键值,然后启动计数器,按照程序产生一定频率的脉冲,接着通过uln2003芯片驱动扬声器,播放出乐曲。该硬件电路中用P3.0,P3.1,P3.2,P3.3控制四个按键,“0”,“1”,“2”,“3”分别控制四首音乐。P1.0,P1.1,P1.2,P1.3控制四个LED灯,它们分别对应四个按键,用来显示正在播放的歌曲,并用P2.3 来控制扬声器,电路为12MHz晶振频率工作,起振电路中C1 和C2为22pf。 第三章:系统硬件电路设计 1:硬件体系结构设计 该简易音乐播放器主要有单片机核心芯片89C52,LED发光二极管,扬声器,晶振电路,按键电路,复位电路组成,通过芯片引脚输出定时器产生的各种固定频率的方波信号,然后在经由扬声器产生各种频率的声音。另外,该方案使用的是单片机板子的内部振荡电路,89C52芯片的X1,X2引脚外接石英晶体。它的系统组成如图所示。 (1)晶振电路部分晶振的作用是给电路提供工作信号脉冲的,其实就是单片机的工作速度。本次设计选用12M晶振,则单片机的工作速度就是每秒12M。与此同时,也要注意单片机的工作频率范围。 (2)复位电路部分当系统出现问题时可以重置系统,解决一些问题 (3)LED显示部分显示系统在各种不同条件下的状态 (4)89C52芯片整个设计的核心,接收和处理信号及程序 (5)按键电路部分作为系统的输入

音乐播放器的设计与实现毕业论文

音乐播放器的设计与实 现毕业论文 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

毕业设计说明书 学生姓名学号 学院计算机科学与技术学院 专业计算机科学与技术(软件工程) 题目音乐播放器的设计与实现 指导教师 (姓名)(专业技术职称/ 学位) 年月 摘要:随着生活水平的提高,娱乐已成为非常主流的话题,人们不仅需要通过音乐陶冶情操,而且越来越多的人倾向于使用音乐、视频等娱乐和放松自己,这大大促进了媒体软件的发展.本文旨在介绍研究常用数字音频编码和解码的相关知识,并结合VS2008编写多功能音乐播放器,了解音乐播放器功能的实现,掌握开发音乐播放器所需的相关知识,采用了面向对象软件工程方法,其开发主要包括应用程序界面设计和后台代码运行两个方面,实现了多功能音乐播放器在计算机上的应用,可以在很大程度上满足用户的需求.该系统主要具备:音乐播放控制、音乐文件控制、音量控制、下载控制、歌词控制、进度控制、音乐剪辑等功能模块。 关键字:音乐播放器,音频编码格式,TechSmith Screen Capture Codec,FFmpeg ,C#,Visual Studio 2008 Abstract:With the improvement of standards of living, entertainment has become very mainstream topics, it is required not only by music, edifying, and as more and more people tend to use music, video and other entertainment and relax, which greatly promoted the development

基于android的在线音乐播放器的设计与实现开题报告

本科生毕业设计(论文)开题报告 论文题目:基于android的在线音乐播放器的设计与实现 学院:软件学院 专业:计算机科学与技术 学生姓名: 学生班级: 学生学号: 指导教师:

基于android的在线音乐播放器的设计与实现 一、课题的研究目的和意义 现如今社会生活节奏日益加快,人们在忙碌的生活中欣赏音乐是最好的舒缓压力的方式之一。随着移动设备的日益完善,我们大家都已经有了在手机上听自己喜欢歌曲的习惯,以往的做法是用数据线或者蓝牙等无线设备将PC上的歌曲复制几首到手机当中,反反复复的听,等到听厌了以后,再次装一些歌曲进去,如此反复,非常的麻烦。因此,如果在我们的手机上能实现在线听歌,这将会带来极大的方便。 本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,是手机显得更生动灵活化,与人们更为方便,让手机主人随时随地处于音乐的旋律之中。本设计实现的重要功能是播放Mp3格式的音乐文件,并且能够控制音乐的播放,暂停,显示歌手信息,歌曲专辑等功能。本项目还可以使人们生活更加多样化,也使设计者更加熟悉Android的技术和其它在市场上的特点。 二、国内外发展状况 1. 目前中国拥有世界上最大的手机用户群,Android在中国的前景十分广阔,首先是有成熟的消费者,Android社区是分红或,这些社区为Android在中国的普及做了很好的推广作用。国内厂商和运营商也纷纷加入了Android阵营,保过中国移动、中国联通、中心通讯、华为通讯、联想等大企业,同时还不仅仅局限于手机,国内厂家也陆续退出了采用Android系统的MID产品,比较著名的包括由Rock chip和蓝魔推出的同时具备高清播放和智能系统的音乐汇W7和2010年推出的原道N5,我们可以预见Android也将会被广泛应用在国产智能上网设备上,将进一步扩大Android系统的应用范围。 2. 国外Android市场正在如日中天的扩展,根据市场调研机构NPDGroup最近发布的一份报告称,今年第一季度基于Android操作系统的智能手机在美国智能手机总销售量中所占比例达到28%,超越苹果iPhone。2012年另一家市场研究公司comScore发布报告称,第三季度三星和Android操作系统仍在美国移动市场上占据主导地位。报告显示,在对3万多名美国移动用户进行调查后发现,谷歌Android平台第三季度仍在美国市场上占据主导地位,所占份额为52.5%,比第二季度增长近1个

在线音乐播放系统详细设计

<在线音乐播放系统> 详细设计说明书 作者: 完成日期: 签收人: 签收日期: 修改情况记录:

1 引言 1.1 编写目的 为软件开发人员在编码的过程中有所依据和参考。 面向人员:程序开发人员 1.2 背景 说明: a.待开发的软件系统的名称:在线音乐播放系统 b.列出本项目的任务提出者:北软老师 c.开发者:邓凯 d.用户:广大互联网用户 e.将运行该项软件的单位:web服务器 1.3 定义 OMS :Online music system,在线音乐播放系统。 1.4 参考资料 列出要用到的参考资料,如: a.本项目的经核准的计划任务书或合同、上级机关的批文; b.在线音乐播放系统概要设计.doc; c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。 列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2 程序系统的结构 本程序主要采用四层结构,如下所示: 图1 系统结构示意图

3 程序(标识符)设计说明 3.1 在线音乐网络爬虫设计说明: 资源的数量和质量将决定了系统的商业价值,为了获取更多的网络媒体资源,为系统设计了一款针对互联网上音乐资源的网络爬虫。 3.1.1爬虫的原理: 网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。 传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。 聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止,另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。 相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题: (1)对抓取目标的描述或定义; (2)对网页或数据的分析与过滤; (3)对URL的搜索策略。 3.1.2在线音乐播放系统爬虫的设计: 与通用爬虫不同,在线音乐播放系统爬虫只针对https://www.wendangku.net/doc/2f12345149.html,音乐频道 https://www.wendangku.net/doc/2f12345149.html,音乐频道,针对MP3格式的资源。 3.1.3爬虫的流程图:

音乐播放器的设计与实现

第一章绪论 1.1背景 随着电子技术的飞速发展,嵌入式设备在各领域的应用越来越广泛,复杂度也越来越高,对其他开发方法也提出了更多的要求和更大的挑战。在嵌入式设备系统开发过程中需要将软件应用与操作系统编译连接成一个整体,然后下载到目标机上运行,所以,嵌入式设备的开发过程是一个复杂的过程。 3作为高质量音乐压缩标准,给音频产业带来了具大的冲击。3技术使音乐数据压缩比率大,回放质量高。如格式的音乐数据压缩成3格式,音效相差无己,但大小至少可压缩12倍。由于3音乐的较小数据量和近乎完美的播放效果使其在网络上传输得以实现。1995年,3格式的音乐文件刚在网络上传播时,主要用等播放软件进行播放,使3音乐无法脱离计算机进行播放,给音乐欣赏带来了不便。近几年以来,随着3播放器的出现及其技术的发展,人们对3播放器的要求越来越高,制造商在3播放器的选型、设计、开发、附加功能和适用领域等方面做了很多努力,设计了多种方案。本设计主要是利用技术设计一款新型的3播放器。 9是公司的16/32位处理器,是适用于普通设备的一种高性价比的微控制器。本设计采用的是三星公司推出的9芯片S3C2440,具有低价格、低功耗、高性能、超小体积等特点主要适用于中高端场合,目前在嵌入式系统中正得到日益广泛的应用。S3C2440主频高达400M,片上集成了丰富的资源:如()总线与控制器,为与数模转换器()的连接提供了一种理想的解决方案。 3播放器的设计比较复杂且对处理器的要求较高,因而3播放器必须仔细设计以降低成本。本设计是在9平台上设计、实现一个3播放器。 第二章系统总体方案 2.1 系统功能 本设计提出了一种基于嵌入式处理器硬件平台的3播放器设计方法。此播放器采用体系结构中的9作为系统控制器,利用外围设备通用串行接口下载3歌曲,用存贮3文件。主要对3做了各个方面的功能分析,对硬件设计、软件设计、软件实现、系统编译等方面做了介绍。系统的主要部分是音频编码与解码,这是系统设计的核心。3播放器设计的突出问题就是硬件控制和软件控制,另外还有硬盘控制、键盘控制、液晶显示,这些控制都是基于一块芯片。基于9的3播放器设计的软件体系结构采用分层模式,它包括软件层、硬件层、驱动层、操作系统层、及3播放器应用层。主要实现歌曲的播放。 2.2 设计指标 1、3工作电压为具有3.3V左右,电流250,具有音频解码和播放功能。 2、通过接口与大容量外部存储设备进行数据传输,能实现网络播放与下载、触摸屏输入功能。

EDA_简易音乐播放器设计

目录 1 引言 (2) 2 设计任务及设计要求 (2) 3 设计原理及总体思路 (3) 4 各单元模块的设计 (5) 5 总电路设计 (17) 6 设计调试体会与总结 (18) 参考文献 (23)

1 引言 《EDA课程设计》(注:EDA即电子设计自动化,Electronics Design Automation)是继《模拟电子技术基础》、《数字电子技术基础》、《电子技术基础实验》课程后,电气类、自控类和电子类等专业学生在电子技术实验技能方面综合性质的实验训练课程,是电子技术基础的一个部分,其目的和任务是通过一周的时间,让学生掌握EDA的基本方法,熟悉一种EDA软件,并能利用EDA软件设计一个电子技术综合问题,并在实验箱上成功下载,为以后进行工程实际问题的研究打下设计基础。 1.通过课程设计使学生能熟练掌握一种EDA软件的使用方法,能熟练进行设计输入、编译、管脚分配、下载等过程。 2.通过课程设计使学生能利用EDA软件进行至少一个电子技术综合问题的设计,设计输入可采用图形输入法或AHDL硬件描述语言输入法。 3.通过课程设计使学生初步具有分析寻找和排除电子电路中常见故障的能力。 4.通过课程设计使学生能独立写出严谨的、有理论根据的、实事求是的、文理通顺的字迹端正的课程设计报告。 2 设计任务及设计要求 设计一个简易硬件播放器并能播放多首音乐(最少四首),可通过按键手动控制音乐播放。在播放音乐的同时可实现音谱与音高的显示,并通过16个LED 小灯显示不同音调的变化。 使用VHDL语言设计音调发生模块,音调编码模块,乐曲存储模块,控制模块,小灯控制模块,数字显示模块,音谱与音高输出模块等各个模块。

音乐播放器设计文档

题目:心灵音乐播放器学号: 姓名: 学院:信息工程学院 专业班级: 指导教师: 设计时间:2012年4月至2012年5月

目录 第一章引言 (3) 1.1 项目背景 (3) 2.2 编写目的 (3) 第二章系统开发 (4) 2.1 功能需求(用例图分析) (4) 2.1.1 播放器的基本控制需求 (4) 2.1.2 播放清单列表管理需求 (5) 2.1.3 播放友好性需求 (6) 2.1.4 播放扩展卡需求 (6) 2.1.5 功能需求(时序图)分析................................................... 错误!未定义书签。 2.2 系统结构图和流程图 (6) 2.2.1 音乐播放器的系统流程图 (6) 2.2.2 系统功能表(表2.1)和系统功能结构图(图2.5.2) (7) 2.3 详细设计 (8) 2.3.1 文档结构 (8) 2.3.2 类结构 (9) 2.4 初步设计界面图 (10) 2.4.1 在线列表 (11) 2.4.2 下载器界面 (11) 2.4.3 播放器界面 (12) 2.4.4 音乐设置界面 (13) 2.4.5 默认本地音乐文件夹界面 (14) 2.4.6 单击某条记录弹出对话框 (15)

摘要 Android是一个开源系统技术,它底层是基于Linux操作系统,本音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。同时给出了详细的系统设计过程、部分界面截图以及主要功能运行流程图,还对开发过程中遇到的问题和解决方法进行了详细的讨论。该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示、在线播放、音乐下载等功能于一体,性能良好,在Android系统中能独立运行。MP3的全名是MPEG Audio Layer-3,是一种声音文件的压缩格式,由于本播放器只限于应用层的探讨,所以对具体的压缩算法不作深究 关键词:Android;开源系统;Linux;音乐播放器 第一章引言 1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同种类,现在市场上主要有三个手机操作系统——Windows Mobile,Symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上又有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的音乐播放器。 2.2 编写目的 现金社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,可以播放本地的MP3音乐,也可以播放在线的MP3音乐。本设计所实现的主要功能是播放MP3音乐文件,并且能够控制播放,暂停,停止,上一曲,下一曲,音量调节,视觉外观,播放列表和歌曲文件管理操作等多种播放控制功能,界面简明,操作简单。 本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使本人更加熟练Android的技术和它在市场上的特点。

简单音乐播放器数电实验

数字电路与逻辑设计综合设计实验报告 实验名称:简易音乐播放器 姓名:

班级:班 班内序号:27 一、设计任务要求 设计制作一个简易乐曲播放器。 1)播放器内预存3首乐曲; 2)播放模式:顺序播放、随机播放,并用数码管或LED显示当前播放模式; 3)顺序播放:按内部给定的顺序依次播放3首乐曲; 4)随机播放:随机产生一个顺序播放3首乐曲; 5)用数码管显示当前播放乐曲的顺序号; 6)设置开始/暂停键,乐曲播放过程中按该键则暂停播放,再按则继续播放; 7)设置Next和Previous键,按Next键可以听下一首,按Previous键回到本首开始; 8)选做:用户可以自行设定播放顺序,设置完成后,播放器按该顺序依次播放乐曲; 9)选做:自拟其它功能。

二、系统设计 1)设计思路 首先音乐有音高和节拍两个因素。音高可以通过对时钟信号不同的分频得到不同频率的信号进而发出不同的音,节拍可以定义一个音符计数器,计数器的每一个值对应一个音高。对播放的控制包括播放/暂停、复位、上一首、下一首、本首重放、顺序播放/随机播放,用一个状态机,共播放和暂停两个状态,另外歌曲的切换以及暂停都是利用音符计数器赋不同的值或保持不变来实现。音高的显示是通过不同的音符对应不同的点阵row和col的值来实现的。歌曲号是通过音符计数器的值来得出并送到数码管显示的。播放、暂停、顺序、随机这些的显示是通过对状态和模式变量的判别进而送到LED显示的。 2)总体框图 50M

3)分块设计 共分为9个模块。Div1,div2,div3都是用来分频的,分别是将50mhz变为1mhz,将1mhz变为4hz,将1mhz变为2hz。Rand模块用来产生随机数,用于随机播放模式。Keycontrol是核心模块,用来实现顺序播放、随机播放、播放/暂停、上一首、下一首、本首重放、复位、显示顺序或随机播放状态、显示播放/暂停态。Melody模块是将音符计数器的每一个值与一个音高相对应,即记录曲谱。Index模块是用melody模块传来的音高信号通过查表得到它所对应的音高的分频数,然后将这个分频数送给speaker模块,以发出不同的音,另外对应不同的音它还对点阵进行不同的输出,进而显示出音高。Speaker模块接收index模块送来的分频数,利用分频数对时钟信号进行分频,进而发出不同的音,另外它还接收keycontrol模块送来的暂停态的标志,以保证在暂停态的时候不发出声音。Shownumber模块通过对音符计数器值的判断确定现在播放的是哪首歌,进而输出不同的歌曲号。

音乐播放器设计与仿真

科信学院 电子信息工程CDIO二级项目(2013/2014学年第二学期) 题目:音乐播放器的设计与仿真 专业班级: 学生姓名: 学号: 指导教师: 设计周数: 设计成绩: 目录

题目:基于Proteus与8253、8255A、8086芯片的音乐播放器 (2) 音乐播放器的设计与仿真 (2) 1 设计目的 (2) 2 设计正文 (2) 2.1音乐播放器的设计原理 (2) 2.2 8253、8255A以及CPU8086芯片介绍 (3) 2.2.1芯片8253简介 (3) 1、8253外部引脚介绍 (3) 2、8253内部结构介绍 (4) 3、8253作为定时器与计数器时的功能介绍 (6) 4、方式选择控制字 (7) 5、8253的工作方式 (7) 2.2.2 芯片8255的介绍 (8) 1、8255A外部引脚介绍 (8) 2、8255A内部结构介绍 (10) 3、8255的工作方式 (12) 4、8255A控制字 (12) 2.2.3 CPU 芯片8086介绍 (14) 1、8086简介 (14) 2、8086外部引脚介绍.............................................................................................14. 3、8086内部结构介绍 (16) 2.2.4音乐播放器的设计流程 (18) 1、音乐播放器的总体设计流程图 (18) 2、芯片间连接情况以及功能介绍 (19) 3、程序设计的总体思路 (21) 4、硬件连接电路图 (22) 3.设计总结 (22) 4.参考文献 (23)

音乐播放器的设计与实现设计共19页文档

目录 一、前言 (1) 二、系统分析 (2) (一)系统需求分析 (2) (二)系统功能需求分析 (2) (三)业务流程分析 (3) 三、系统设计 (4) (一)总体设计 (4) (二)歌曲列表模块设计 (4) (三)播放控制模块设计 (4) (四)播放器设置模块设计 (4) (五)数据库设计 (4) 四、系统实现 (6) (一)主界面 (6) (二)播放列表 (12) (三)歌词显示界面 (13) (四)皮肤更换 (15) 五、软件测试 (16) (一)软件的测试 (16) (二)功能的测试与实现 (16) (三)测试结论 (17) 六、结论 (17) 参考文献 (18)

Android音乐播放器的设计与实现 (电子信息工程系软件技术111班王永军) 摘要:本论文的音乐播放器采用了Android开源系统技术,利用Java 语言和Eclipse开发工具对播放器代码进行编写。同时给出了详细的系统设计过程、部分界面截图及主要的功能流程图,该音乐播放器集播放、暂停、停止、上一首、下一首、歌词显示等功能于一体,性能良好,在Android系统中能独立运行。实验证明,基于android平台的软件开发简单,使用方便简洁,必将成为未来几年的发展方向,具有普遍意义。 关键词:Android;Java;Eclipse;音乐播放器 一、前言 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,是的手机操作系统也出现了不同各类,现在的市场主要有三个手机操作系统,Windows mobile,苹果系统,以及谷歌的Android操作系统,其中占有开发源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频资源也在网上广为流传,这些资源卡是平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味最求外观花俏,功能庞大,对用户的手机造成很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户听歌的需求。 现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计的实现的这主要功能是播放MP3等音乐文件,并且能够控制播放器播放,暂停,停止,上一曲,下一曲。界面简单,操作简单。 本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的播放

相关文档
相关文档 最新文档