基于AS3.0的音乐点播系统的设计与实现答辩_第1页
基于AS3.0的音乐点播系统的设计与实现答辩_第2页
基于AS3.0的音乐点播系统的设计与实现答辩_第3页
基于AS3.0的音乐点播系统的设计与实现答辩_第4页
基于AS3.0的音乐点播系统的设计与实现答辩_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

“酷猪音乐”播放器演示报告题目基于AS3.0的音乐点播系统的设计与实现系(院)计算机科学技术系专业计算机科学与技术班级学生姓名学号指导教师职称讲师期末了时间紧,在此首先感谢在座各位答辩老师百忙之中抽出宝贵的时间来对我的毕业论文进行最后的审查答辩。由于时间仓促,而且第一次用这个软件和语言,第一次开发桌面程序,开发技术不佳等主观原因,可能在软件中还存在一些不足和未知的错误,希望老师们谅解。开发工具简介FlashBuilder4.6启动界面FlashBuilder工作(开发)界面Flex容器结构的嵌套显示结构通过有效地使用容器,同时恰当地配合运用多个容器,可以对应用程序的外观(位置、颜色、大小等)实现最全面、最彻底、最有效率的控制。

“显示对象容器”“显示对象容器”中又包含“显示对象容器”,故谓之曰“嵌套”。软件功能结构“酷猪”音乐播放器打开暂停/播放停止上一曲下一曲音量+常用功能附加功能音量-消除广告创建列表酷猪工具记事本闹钟便签提醒约会本播放器在结构上分为两个部分。常用功能(音乐播放)和附加工具(常用工具)。红色框部分为音乐播放部分,绿色框部分为常用工具部分。软件功能设计打开播放器音乐部分常用工具部分本地音乐扫描本地歌词扫描设置、编辑、添加、删除工具提示(桌面右下角弹窗显示)歌曲播放歌词同步播放歌词去广告两个结构对应主要的两个功能,音乐播放部分和常用工具部分。音乐播放部分包括一般的音乐欣赏功能。常用工具部分则包括常用的办公生活小工具,不仅实用、而且方便。播放列表生成原理创建一个字符串,用来存放xml文件内容。扫描用户选择的目录,将获取到的MP3文件信息转码后存入字符串。处理字符串(转码为UTF-8编码)。扫描添加完毕将字符串按UTF-8编码存入D:\kuku\playlist\playlist.xml用户选择音乐目录或路径通过用户单击播放器上的“扫描”按钮,来选择音乐文件。选择完后将后台扫描,扫描完后提示,并将扫描结果显示在播放列表中。软件数据结构(播放列表)xml文件主节点(一个)子节点n子节点1子节点2子节点3……文件名文件路径添加时间……本软件的数据采用本地存储的形式,没有数据库。而是采用了xml和普通的类似文本文件的形式存储产生的数据。Xml文件主用用于存储播放列表。主节点(main)子节点(item)节点中的数据项(文件名、路径、添加时间)歌曲播放流程及原理根据歌曲文件名获取歌曲文件(.MP3)文件存在生成和获取歌曲信息变量文件不存在处理显示歌曲名、歌曲总时长、播放进度,如果有歌词则同步显示歌词。歌曲用户控制播放完,下一首歌曲//播放/暂停按钮protectedfunctionplay_pause_Btn_clickHandler(event:MouseEvent);//拖放进度条protectedfunctionplayingProcess_changeHandler(event:Event);//双击播放列表中的音乐文件protectedfunctionplayerList_change_Handler(event:MouseEvent);在显示播放列表后,通过双击列表中的歌曲名,可以开始音乐播放。歌词播放流程及原理根据歌曲文件名获取歌词文件(.lrc)文件存在按二进制编码读取文件内容文件不存在处理转码为GBK编码的字符串将GBK编码内容存入Array处理后的GBK编码内容将Array内容逐个显示播放完,下一首歌曲歌词//显示歌词的方法protectedfunctionlrcOperation(event:Event);protectedfunctiongetNewTimer(off:int=0);protectedfunctiongetNextLrc(event:Event);在歌曲播放的同时,如果在与歌曲相同的目录下存在同名的歌词文件(lrc文件),播放器将调用该歌词文件并同步播放。由于歌词文件在我们都是这种编码方式的。歌词播放步骤读取该歌曲的歌词文件,将歌词信息存入一个数组中。(注:每句歌词有两部分组成,“时间标签”和“歌词内容”,形如: “[00:43.81]只是四目相对有心悸”)计算相邻两句歌词之间的时间差,作为歌词计时器的时间延迟(delay属性),计时完成后显示歌词内容。通过递归循环再计算接下来的时间差。时间标签歌词内容歌词文件去广告流程原理根据歌曲文件名获取歌词文件(.lrc)文件存在按GBK编码读取整个文件,将内容存进一个字符串。文件不存在处理处理该行的内容(查找广告,如果存在则替换或删除)通过查找字符串中的换行符,逐行获取内容。将该行内容替换字符串中内容处理完,按GBK编码写回文件根据选中的文件夹的路径,读取该文件夹下的所有歌词文件(lrc)文件,然后将文件内容一句一句进行“对比”,如出现广告等垃圾信息(正则表达式匹配上),则删除该行歌词,并填充有用信息,直到所有歌词信息对比完毕。歌词文件“张学友–祝福.lrc”,在去广告前后的对比。去除广告前后效果对比替换为“酷猪音乐”歌词编辑者QQ号码替换为“酷猪音乐,只为你我传播好音乐”由于采用正则表达式匹配和“特征”(关键字)匹配,故除了可以匹配QQ号码,还可以邮箱、公司、手机、电话等信息。播放列表创建原理创建一个字符串,用来存放xml文件内容扫描用户选择的目录,将获取到的MP3文件信息转码后存入字符串。处理字符串(转码为UTF-8编码)。扫描添加完毕将字符串按UTF-8编码存入文件用户选择目录对于存在硬盘上的mp3文件夹,本播放器可以一次性添加进入播放列表。在打开播放器后,只需要点击播放器界面左下侧的“扫描”按钮,然后在弹出的对话框中选择正确的歌曲目录,点击确定后,歌曲扫描将自动进行,扫描完成后将弹出警告,然后将扫描得到的歌曲以列表的形式显示在播放列表中。常用工具的使用播放器的左侧是音乐窗口,右侧是常用工具窗口。当今很多人已经习惯每天坐在电脑前办公,每一天的工作都是围绕着电脑转,为了提供这些人方便,本播放器集成了一些办公上可能有用的功能。这些工具包括:提醒、记事本、便签、闹钟、约会提醒(功能介绍)为自己的时间安排设置一个提醒,用户可以同时设置多个提醒(当然不能将提醒时间设置为昨天的某个时刻),多个提醒互不干扰。当提醒时间到达设置的时间时,播放器将通过右下角弹窗提醒用户需要处理某件事,然后播放器将删除这个提醒(过期提醒)。通过点击“新建”打开“新建提醒”窗口,然后输入信息,输入完毕后,再点击“添加+”按钮,则提示用户创建成功。点击“查看”按钮则可以看到当前已有的所有“提醒”,并且将计时显示该提醒的所有内容。软件数据结构(其他数据)记事本提醒时间提醒提醒内容提醒备注提醒创建时间各个实体类内容太多就不一一列举,现列举“记事本”和“约会”E-R结构。约会约会备注约会内容约会地点约会时间约会开始时间参与者约会结束时间存储结构及原理实体类对象(包含有多个数据字段)实体类对象的集合(ArrayList或Array),包含有多个实体类对象将对象序列化(AMF),存储为数据文件(kztd文件,KuZhuToolData文件),方便下次读取和操作封装实体类对象的集合,添加便于操作的方法获取实体类对象数据由上而下完成文件的存储,相当于将数据存入数据库中。通过用户单击播放器上的“添加+”按钮,播放器将获取用户的当前输入,然后将其保存为一个实体类对象。读取本地硬盘中对应的数据文件,再将该实体类对象插入到实体类对象的链表中的适当位置(按时间排序)。然后将该链表覆盖保存为一个kztd数据文件。上一个/下一个等操作读取数据文件将读取的文件的信息存入一个ArrayList中,以供使用。根据上一个/下一个、删除、修改等操作,对当前对象或当前对象的id或属性进行操作。根据当前的对象查找该ArrayList,得到当前对象在ArrayList中的位置。将修改后的Arraylist覆盖保存到本地硬盘。相当于在数据库中查找某条记录的id(这里的id只表示序号,不用来区别不同的记录),然后通过id确认上/下一条记录的位置。读取结构及原理读取数据文件(kztd文件,文件路径已经固定在D:/kuku/tool)读取数据文件中封装的实体类对象的集合(ArrayList或Array),包含有多个实体类对象。实体类对象(包含有多个数据字段)解封装实体类对象的集合显示或操作实体类对象由上而下完成文件的读取,相当于查询数据库中的记录。首先读取本地硬盘中的数据文件(kztd文件)。如果文件不存在则创建。然后将读取到的数据按照对应链表结构解析(如果是闹钟的数据文件,则按照闹钟的数据结构解析),将链表中最靠前的一个对象提取到播放器变量中以供使用。其他说明说明:如“提醒”的实体类为Warning00,它的实例化对象有多个,这些实例化对象存储在tempAL(ArrayList)中,然后再对tempAL进行封转,放在WarningAL对象中,最后将WarningAl对象序列化后存在数据文件warningDat.kztd中。注:①AMF(是ActionMessageFormat的缩写)是在flash和flex中remoting的一种方式格式。不但能节省存储空间,而且格式化后的数据便于读取和管理。②闹钟的存储,因为闹钟个数固定,所有不是采用的ArrayList,而是采用的Array定长存储。总之,在存储和读取的工程中,都要经过:处理、分类、整合、编码和存储这几个过程。数据的修改读取数据文件(kztd文件,文件路径已经固定在D:/kuku/tool)将读取的文件的信息存入一个ArrayList中,然后以供使用。将修改后的对象替换原来ArrayList中的对象。根据当前的对象查找该ArrayList,得到对象在ArrayList中的位置。将修改后的Arraylist覆盖保存起来。数据的修改音乐播放最终效果歌词播放播放列表当前播放常用工具常用工具编辑、控制常用工具效果(记事本)随意的记录某些东西,是创意的灵感、是烦心的诉说、是对某人的思念。通过点击“新建”打开“新建记事本”窗口,然后输入信息,输入完毕后,再点击“添加+”按钮,则提示用户创建成功。点击“查看”按钮则可以看到当前已有的所有“记事本”。在这里我需要声明一下接下来软件演示中的问题,在我已经很努力的尝试改进后,不知道是哪个变量的问题还是as语言的使用的问题,播放器中还是存在着两个个重大bug:1、歌词的协调有很大问题;2、右下角弹窗的音乐问题我在后期还会进一步完善,希望老师们谅解,能帮助我解决这个问题就最好了……谢辞在毕业

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论