基于AS30的音乐点播系统的设计与实现毕业设计.docx

上传人:b****7 文档编号:10771564 上传时间:2023-02-22 格式:DOCX 页数:44 大小:1.52MB
下载 相关 举报
基于AS30的音乐点播系统的设计与实现毕业设计.docx_第1页
第1页 / 共44页
基于AS30的音乐点播系统的设计与实现毕业设计.docx_第2页
第2页 / 共44页
基于AS30的音乐点播系统的设计与实现毕业设计.docx_第3页
第3页 / 共44页
基于AS30的音乐点播系统的设计与实现毕业设计.docx_第4页
第4页 / 共44页
基于AS30的音乐点播系统的设计与实现毕业设计.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

基于AS30的音乐点播系统的设计与实现毕业设计.docx

《基于AS30的音乐点播系统的设计与实现毕业设计.docx》由会员分享,可在线阅读,更多相关《基于AS30的音乐点播系统的设计与实现毕业设计.docx(44页珍藏版)》请在冰豆网上搜索。

基于AS30的音乐点播系统的设计与实现毕业设计.docx

基于AS30的音乐点播系统的设计与实现毕业设计

 

毕业设计(论文)

题目

基于AS3.0的音乐点播系统的设计与实现

系(院)

专业

班级

学生姓名

学号

指导教师

职称

独创声明

本人郑重声明:

所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。

尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。

对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。

本声明的法律后果由本人承担。

 

作者签名:

二〇年月日

 

毕业设计(论文)使用授权声明

本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。

本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。

(保密论文在解密后遵守此规定)

作者签名:

二〇月日

 

基于AS3.0的音乐点播系统的设计与实现

摘要

在多媒体技术高速发展的今天,多媒体播放器出现了多种缺点和毛病,主要表现在内存大量占用和操作复杂繁琐方面。

本文针对当今流行音乐播放器的优缺点进行了研究,然后在此基础上进行综合和总结,开发出了一个功能丰富和操作简易的音乐点播系统,该播放器具有低内存占用和绿色无广告的特点,因此具有广阔的市场前景。

本音乐点播系统是基于脚本语言ActionScript3.0,利用FlashBuilder4.6设计开发的AIR应用程序。

主要利用Actionscript3.0作为后台逻辑处理和功能实现,文中对音乐播放器做了详细的需求分析,并详细介绍了音乐播放器的总体设计,包括音乐播放器的架构设计、功能模块的划分、音乐播放列表文件的设计、常用工具的设计、本地数据存储设计等,然后具体介绍了以上各个部分和功能的具体实现原理和过程,最后再对该音乐点播系统进行了黑盒测试和白盒测试,没有重大的异常和错误,证明其设计方案的可行性和正确性。

关键词:

多媒体;播放器;人性化

DesignandImplementationofMusic-on-demandSystemBasedonAS3.0

Abstract

Withtherapidimprovingofthetimesandtherapiddevelopmentofnetworktechnology,multimediatechnologykeepspacewiththetimes.Assustainedrapiddevelopmentinmultimediatechnology,avarietyofshortcomingsandfaultsareemergedinmultimediaplayer,mainlyintheoccupationofmemoryandthecomplicationoftheoperation.Thisarticlestudystheadvantagesanddisadvantagesofthecurrentpopularmusicplayer,thendevelopedamusic-on-demandsystemwithlowmemoryfootprintandwithoutadvertisementsbasedonthis,soitwillgetabroadmarketprospects.ThemusicondemandsystemisbasedonthescriptinglanguageActionScript3.0,usestheFlashBuilder4.6designanddeveloptheAIRapplication.Actionscript3.0ismainusedtohandlethelogicandtorealizethefunction,thenadetailedrequirementanalysisismakeandintroducesthegeneraldesignofthemusicplayer.Includethearchitecturedesign,thefunctionalmodulesdivided,thedesignofmusicplaylistfile,thedesignoftools,thelocaldatastoragedesignandsoon,andthenintroducedthespecificimplementationprincipleandprocessoftheaboveeverypartandfunction.Inthispaper,thedesignofthemusicon-demandsystemistestedbytheblackboxandwhitebox,nomajoranomaliesanderrors,toprovethefeasibilityandcorrectnessofitsdesign.

Keywords:

Multimedia;player;humane

第一章绪论

1.1研究的目的和意义

随着Internet的发展,人们的个人计算机上音乐播放软件越来越多,功能越来越丰富,但同时很鸡肋的功能也越来越多,内存占用也越来越大,与其它音乐播放器比较,这一音乐播放器具有功能丰富、占用空间小的特点,它与现有音频资源应用状况紧密结合,既具有很强的直观感,又不失一般性。

因此开发制作这一播放器具有备现实意义。

1.1.1研究目的

在软件技术迅速发展的同时,个人计算机上安装的软件越来越多,多个软件同时运行,在硬件的消耗上是相当大的,特别是在这种情况下内存(RAM)会成为一种相当紧缺的资源,内存的紧缺对于软件开发来说会限制软件的发展。

本课题着重研究利用ActionScript3.0开发音乐播放器,在满足音乐播放的前提下,尽量降低内存占用的方法。

1.1.2研究意义

每个软件都极尽所能的展现各种花俏的功能,争奇斗艳的程度让人目不暇接。

目前常见的音乐播放器软件各有特色,比如提供词自动匹配下载、歌手相关歌曲推荐、音乐排行榜、小游戏,更有甚者还有团购广告。

虽然在外观上有很大的差异,但功能上却大同小异,而且由于强制安装插件的原因而存在着多种缺点和毛病,主要表现在内存大量占用和操作复杂繁琐方面。

为了解决现行播放器大量耗用的内存和操作不人性化的问题,本课题设计并实现了播放器的低内存占用和人性化操作。

在开辟创建绿色软件和内存节约方面有重要意义。

围绕低内存占用这个目标,研究怎么降低多媒体音乐播放器的内存占用,充分体现了节约为本的思想,符合和谐发展的主题。

1.2国内外研究现状

随着Internet的商业化的发展,多个网络或者软件公司纷纷推出各种方法来争取用户群,争取市场占有率。

在多媒体播放器方面也不例外,多家公司通过捆绑安装或弹窗提示来在某一定程度上强制用户安装其附属的其他软件或注册旗下的账号。

一些商家纷纷行动规划开发适应本企业的播放器。

目前国内比较流行的音乐播放器有:

酷狗、windowsmediaplayer、QQ音乐盒、酷我音乐盒等。

酷狗和windowsmediaplayer是使用最广泛的多媒体播放器。

其中酷狗音乐播放器凭借其丰富的歌曲、歌词和mv资源成为网络上是使用最多的播放器,QQ音乐盒与酷狗类似,但其中还加入了QQ客户端的一些功能,因而也有比较广的客户群。

XX音乐盒有网页播放器,强大的音乐搜索功能为播放器提供大量的免费高质量音乐。

网络上有不少的研究者热衷于播放器的研究,利用控件或者是MCI接口开发自己的播放器,并且取得了很大的进步,推动了播放器的发展。

不过在声音的表现上,国内的播放器远不如Beoplayer和foobar2000专业。

1.2.1国外研究现状

由于计算机技术国外先于国内,在音乐播放器方面,国外起步比国内早,而且技术成熟。

国外的播放器一直讲究的是实用和技术,多是针对专业人士开发的,因而在操作和使用上不适合大众,在外观方面更不是很注重,很平凡的用户界面,其能体现价值的地方就是音质和对乐音的渲染和还原上,在内核上都是独立开发的,并不是使用已经做好的通用解码内核。

比如windowsmediaplayer,其支持的音乐格式比较少,界面也比较普通,却是浏览器中某些音乐功能不可缺少的部分,其主要是给window系统中的音频相关软件提供软件接口。

Bang&Olufsen是丹麦的一家全球顶级数字产品设备提供商,其独特的高贵和品质是他们的产品设计理念,因此其产品一直受到了很多人的追捧和崇拜。

Bang&Olufsen出品的音乐播放器Beoplayer被音乐发烧友称为“音质最好的播放器”。

播放效果好,对音质有一定的提升作用,放mp3时可以把很多爆音和杂音都修饰掉,Beoplayer可以不用借助硬件设备来提高mp3的听觉效果,声音输出清脆纯净,Beoplayer对乐器声的还原更是无与伦比[1]。

但是正是由于功能上的丰富,界面的酷炫,其安装包有70M,比一般的视频播放器还大,其内存占用方面更是居高不下。

Beoplayer在人性化方面其中加入了自动扫描和分组的功能,但是Beoplayer不支持歌词显示,使得对于流行歌曲的播放上很不方便。

而foobar则也出现类似情况,在所有媒体软件中foobar2000是最专业和最追求完美音质的一种专家级别音乐播放解码器[2]。

foobar2000的定位是专业数字音频播放工具,它更注重技术,所以在使用过程中涉及到了很多的专业数字音频知识,普通的用户对其常常无从下手,这也就限制了其在大众中的传播和普及。

1.2.2国内研究现状

随着Internet的商业化的发展,一些商家纷纷行动规划开发适应本企业的播放器。

目前国内比较流行的音乐播放器有:

酷狗、windowsmediaplayer、QQ音乐盒、酷我音乐盒等。

酷狗和windowsmediaplayer是使用最广泛的多媒体播放器。

其中酷狗音乐播放器凭借其丰富的歌曲、歌词和mv资源成为网络上是使用最多的播放器,QQ音乐盒与酷狗类似,但其中还加入了QQ客户端的一些功能,因而也有比较广的客户群。

XX音乐盒有网页播放器,强大的音乐搜索功能为播放器提供大量的免费高质量音乐。

网络上有不少的研究者热衷于播放器的研究,利用控件或者是MCI接口开发自己的播放器,并且取得了很大的进步,推动了播放器的发展。

不过在声音的表现上,国内的播放器远不如Beoplayer和foobar2000专业。

第二章AIR开发技术介绍

2.1AIR开发技术介绍

AdobeAIR(AIR=AdobeIntegratedRuntime),开发代号为Apoll。

AIR是针对网络与桌面应用的结合所开发出来的技术,可以不必经由浏览器而对网络上的云端程式做控制[3]。

AIR是可以跨平台的,就像java一样,只要有个虚拟机,在任何硬件或软件系统平台上都可以运行。

2.1.1开发工具介绍

FlexBuilder是Macromedia的IDE,用于Flex应用程序开发。

FlexBuilder使设计者和开发者更高效地建立Flex应用程序。

设计者可以快速建立应用程序界面、快速简单地分布引人注目的Flex用户界面并将其连接到后端数据源。

开发者可以使用代码提示和调试工具,对Flex应用程序进行高效的的编码和调试。

2009年6月1日,Adobe宣布,下一代FlexBuilder4将改名为FlashBuilder4,这引起了众多开发者的异议[4]。

本播放器主要是采用Flex4.6开发和构建的,Flex4.6通常是指AdobeFlexBuilder,是最初由Macromedia公司在2004年3月发布的,基于其专有的MacromediaFlash平台,它是涵盖了支持RIA(RichInternetApplications富联网)的开发和部署的一系列技术组合。

开发工具FlashBuilder4.6主界面如下图:

图2.1开发工具界面

2.1.2容器结构介绍

在FlashBuilder中,所有的组件都逐级嵌套在容器中。

Flashbuilder应用就是用容器搭建起来的,组件是在容器中排列的。

Application是最外层的容器,在application中嵌入各种容器和界面元素,容器中又可以再嵌套容器。

容器中最主要的工作就是管理容器中组建的布局,容器通过多种版面布局方式(比如,绝对布局、相对布局、纵向布局、横向布局等)。

通过有效地使用容器,同时恰当地配合运用多个容器,可以对应用程序的外观实现最全面、最彻底、最有效率的控制[5]。

图2.2容器结构的嵌套显示结构

2.2开发语言

2.2.1开发语言简介

ActionScript动作脚本是遵循ECMAscript第四版的AdobeFlashPlayer运行时环境的编程语言。

它在Flash内容和应用程序中实现交互性、数据处理以及其他功能。

ActionScript是Flash的脚本语言,与JavaScript相似,ActionScript是一种编程语言,新出的AS3.0使用OOP(面对对象编程),增加更强的报错能力,指定类型也更明确[6]。

MXML是一个可以让你在AdobeFlex中布局用户界面组件的一种XML语言。

你也可以使用MXML声明来定义程序中的非可视化组件,比如对服务器端数据源的访问以及用户界面组件和数据源之间的数据绑定。

MXML标签与ActionScript类或者类中的属性是相对应的。

当你编译你的Flex应用程序的时候,Flex解析你的MXML标签并且生成相应的ActionScript类。

然后这些ActionScript类会被编译成SWF字节码存储到一个SWF文件中[7]。

2.2.2开发语言主要功能

ActionScript3.0提供了可靠的编程模型,具备面向对象编程的基本知识的开发人员对此模型会感到似曾相识。

ActionScript3.0中的一些主要功能包括:

一个新增的ActionScript虚拟机,称为AVM2,它使用全新的字节码指令集,可使性能显著提高;

一个更为先进的编译器代码库,它更为严格地遵循ECMAScript(ECMA262)标准,并且相对于早期的编译器版本,可执行更深入的优化;

一个扩展并改进的应用程序编程接口(API),拥有对对象的低级控制和真正意义上的面向对象的模型;

一种基于即将发布的ECMAScript(ECMA-262)第4版草案语言规范的核心语言。

一个基于ECMAScriptforXML(E4X)规范(ECMA-357第2版)的XMLAPI。

E4X是ECMAScript的一种语言扩展,它将XML添加为语言的本机数据类型;

一个基于文档对象模型(DOM)第3级事件规范的事件模型[8]。

第三章酷猪音乐播放器总体设计

3.1总体功能设计

由于本软件的主要的使用者是滨州学院计算机科学技术系-计算机科学与技术专业的师生,考虑到使用人的计算机硬件设备和软件设备相对比较先进、学生的计算机能力水平比较高超,所以本软件的一些功能就不再在帮助中展示,在算法上尽量采用了中庸的算法。

酷猪音乐播放器功能结构如下图:

图3.1酷猪播放器主要功能

3.1.1软件主要功能设计

酷猪音乐播放器功能设计如下图:

图3.2酷猪播放器主要功能设计

3.1.2软件主要功能介绍

音乐播放部分:

对于第一次使用该播放器的用户,首先需要扫描本地硬盘的音乐文件,生成播放列表文件。

然后播放器自动读取该列表文件,将列表中的所有音乐文件的文件名显示在播放器的列表窗口中,然后通过双击播放列表中的任意一首音乐,开始播放音乐。

此时控制音乐的各个控制部件开始生效。

歌词播放部分:

在播放音乐的同时,播放器查找与音乐文件相同目录下的且文件名相同的歌词文件,如果本地存有与该音乐文件文件名相同的歌词文件(.lrc文件),则此时歌词是同步播放的,否则歌词窗口显示“酷猪音乐,只为你我传播好音乐”。

酷猪工具部分:

用户通过点击打开不同的小工具,然后输入具体的时间、内容等参数,然后点击“添加+”按钮。

如果该小工具需要进行倒计时操作,系统将计算该添加项在所有选项中顺序,然后对所有选项进行排序,将排序最靠前的选项的参数传递到计时器中,计时器开始倒计时。

当剩余时间为0时,桌面右下角将弹出提示框。

比如用户设置了“提醒”,内容是“今天18:

30需要开会”,这时倒计时器将获取系统中所有“提醒”,如果系统中有更靠前的提醒,排序后,就这个“提醒”先存储在系统中等候调用,如果系统中没有更靠前的提醒,则通过计算现在时刻与“提醒时间”的时间差来设置计时器,然后再界面上倒计时。

当到会议时间18:

30时,桌面右下角弹出该“提醒”的内容,并提醒用户时间到。

3.2软件数据库设计

3.2.1播放列表(xml文件)结构

可扩展标记语言(ExtensibleMarkupLanguage,XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

XML是标准通用标记语言(SGML)的子集,非常适合Web传输。

XML提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据[9]。

由于本软件是一个完全脱离网络的本地音乐播放器,故没有使用庞大的数据库,而是采用了xml和普通的类似文本文件的形式存储产生的数据。

因为xml文件已有固定的国际标准,在其固有标准的基础上,本播放器对xml文件存储结构进行了多种方案设计,最终选择了一种分散的、简约的内部存储结构,让其更适合在本播放器中使用。

xml文件存储结构如下图:

图3.3酷猪音乐播放器xml文件存储结构

图3.4酷猪音乐播放器播放列表xml文件存储结构

3.2.2“酷猪工具”数据存储的数据结构设计

在本地种存放播放器中产生的中间数据,比如用户设置的“提醒”、“闹钟”等的数据,以及用户对播放器的自定义设置。

因为没有网络的支持,故这些数据只能存储在用户的本地硬盘中。

本播放器为方便数据的使用,对数据的存储结构进行了比较详细的分析和设计(各个实体类内容太多,现列举“记事本”和“闹钟”E-R结构如下)。

图3.5酷猪音乐播放器“记事本”和“闹钟”E-R图

数据结构及存储结构如下:

图3.6酷猪音乐播放器数据结构及存储结构

第四章酷猪音乐播放器主要模块实现

4.1音乐播放主要功能实现代码

4.1.1主界面主要源代码

主界面的代码主要用来实现界面控件布局,搭建功能框架,一下详细列出了所有控件的类型和id,以及相关的方法。

代码举例如下:

xmlversion="1.0"encoding="utf-8"?

>

WindowedApplicationxmlns:

fx="

xmlns:

s="library:

//

xmlns:

mx="library:

//

xmlns:

ns1="*"width="712"height="636"autoLayout="true"

creationComplete="creatComplete()"fontSize="12"xmlns:

components="ponents.*">

以上代码说明如下:

MXML文件不能命名为“WindowedApplication”,“WindowedApplication”是主程序文件所采用的默认标记,不可以再用,也不能和程序中任一组件的id值同名[10]。

xmlns:

fx=xmlns:

s="library:

//xmlns:

mx="library:

//library:

//height="636"autoLayout="true"表示程序窗口的大小和布局方式。

creationComplete="creatComplete()"表示在程序窗口创建完成后触发的方法为creatComplete()。

fontSize="12"表示程序中的字体大小,表示在这个窗口或界面中的字体大小为12磅。

xmlns:

components="ponents.*"表示用户自定义控件空间。

代码举例如下:

HSliderid="volumeSlider"x="176"y="26"change="volumeSlider_changeHandler(event)"

maximum="40"minimum="0"stepSize="1"toolTip="音量调节"

value="20"/>

HSlider>标签中的s前缀是一个命名空间。

它是通过在Application标签中使用一个独一无二的URL来声明的。

s前缀把在s命名空间中的每个组件映射到它的完全限定类名。

这就是为什么FlashBuilder编译器可以在找到与s命名空间中的MXML标签相对应的ActionScript类[11]。

也就是说,这里的

HSlider>实际上对应的是一个名字为id对应值的对象,比如以上代码表示s命名空间下的一个HSlider对象。

这种类是预定义的,不需要用户再次自定义,而且这种类我们不需要通过定义变量的方式来初始化。

控件的相关参数必须写在以上代码表示一个HSlider控件,id表示控件被调用是的标识;x、y表示该控件在舞台上的坐标;change表示在该控件的值改变时应该触发的方法;maximum表示该控件的最大值;minimum表示该控件的最小值;stepSize表示每次拖动滑块时的步长值;toolTip表示该控件的提示信息;value表示该控件的初始值[12]。

在本软件中所有的可视化控件就是通过这种方式进行界面布局和控制的。

可能该控件还有更多的选项,这里不一一列举。

这种可视化的编程环境使编码简单明了,使用方便。

4.1.2歌曲播放主要代码

图4.1酷猪音乐歌曲播放流程

打开播放器后首先读取播放列表文件:

playList.xml,如果文件存在,读取其中内容作为播放列表显示的内容,如果文件不存在,则提示用户创建列表。

读取到列表信息后,逐条分析数据,并根据文件路径获取音乐文件,并播放获取到的音乐文件。

主要方法及功能如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1