完整版基于AS30的音乐点播系统的设计与实现毕业论文Word格式文档下载.docx
- 文档编号:18904609
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:23
- 大小:1,006.17KB
完整版基于AS30的音乐点播系统的设计与实现毕业论文Word格式文档下载.docx
《完整版基于AS30的音乐点播系统的设计与实现毕业论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《完整版基于AS30的音乐点播系统的设计与实现毕业论文Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。
Multimedia;
player;
="
1.0"
encoding="
utf-8"
?
>
<
s:
WindowedApplicationxmlns:
fx="
..wuxiongponents.*"
以上代码说明如下:
MXML文件不能命名为“WindowedApplication”,“WindowedApplication”是主程序文件所采用的默认标记,不可以再用,也不能和程序中任一组件的id值同名[10]。
xmlns:
fx=..wuxiongponents.*"
表示用户自定义控件空间。
代码举例如下:
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]。
也就是说,这里的<
实际上对应的是一个名字为id对应值的对象,比如以上代码表示s命名空间下的一个HSlider对象。
这种类是预定义的,不需要用户再次自定义,而且这种类我们不需要通过定义变量的方式来初始化。
控件的相关参数必须写在以上代码表示一个HSlider控件,id表示控件被调用是的标识;
x、y表示该控件在舞台上的坐标;
change表示在该控件的值改变时应该触发的方法;
maximum表示该控件的最大值;
minimum表示该控件的最小值;
stepSize表示每次拖动滑块时的步长值;
toolTip表示该控件的提示信息;
value表示该控件的初始值[12]。
在本软件中所有的可视化控件就是通过这种方式进行界面布局和控制的。
可能该控件还有更多的选项,这里不一一列举。
这种可视化的编程环境使编码简单明了,使用方便。
4.1.2歌曲播放主要代码
图4.1酷猪音乐歌曲播放流程
打开播放器后首先读取播放列表文件:
playList.xml,如果文件存在,读取其中内容作为播放列表显示的内容,如果文件不存在,则提示用户创建列表。
读取到列表信息后,逐条分析数据,并根据文件路径获取音乐文件,并播放获取到的音乐文件。
主要方法及功能如下:
播放暂停按钮
protectedfunctionplay_pause_Btn_clickHandler(event:
MouseEvent)
拖放进度条
protectedfunctionplayingProcess_changeHandler(event:
Event)
双击播放列表中的音乐文件
protectedfunctionplayerList_change_Handler(event:
4.1.3歌曲播放顺序主要代码
通过控制下一首音乐在播放器列表中的位置,然后达到“全部循环”、“顺序循环”、“单曲播放”。
向获取列表位置的函数传递一个参数,分别表示:
“全部循环”、“顺序循环”、“单曲播放”,然后该参数返回一个下标志,播放器根据该下标支播放音乐。
播放顺序
protectedfunctionplayOrder_DDList_changeHandler(event:
IndexChangeEvent)
下一首音乐的位置
protectedfunctiongetNextItem(order:
int)
4.1.4歌曲搜索主要代码
通过模糊查找,正则表达式匹配的方式,查找列表中的所有音乐,如果包含关键字信息的条目存在,则选中该条目,用户点击“播放”按钮,将播放该音乐。
点击“搜索”按钮,将出现搜索输入框,输入将要搜索的关键字,然后再点击“搜索”按钮,如果搜索框中有关键字,将进行搜索匹配,否则将隐藏搜索输入框。
搜索音乐
protectedfunctionsearch_Btn_clickHandler(event:
4.2歌词播放主要功能代码
有人喜欢一边听音乐,一边跟着音乐的节奏哼唱,或者可能会大声地唱出来。
为了提供边听边唱的方便,本音乐播放器自带歌词播放功能。
相当于提供了一个简单的卡拉ok。
从而相当方便的边听边唱。
图4.2酷猪音乐歌词播放流程
4.2.1歌词信息显示及播放代码
显示歌词的方法
protectedfunctionlrcOperation(event:
protectedfunctiongetNewTimer(off:
int=0)
protectedfunctiongetNextLrc(event:
4.3歌词去除广告信息
在歌词文件中,经常会出现很多广告信息,比如某人的qq号码、电话,甚至公司的广告,这些信息严重影响我们欣赏音乐的心情,故本音乐播放器对于这些信息进行了简单的处理,通过扫描歌曲的所有歌词信息,删除了这些垃圾信息,填上本音乐播放器的“宗旨”——“酷猪音乐,只为你我传播好音乐”。
而且支持任意目录的删除广告信息,很方便的为自己的mp3、手机、mp4等电子产品中的歌词去除广告信息。
为你提供一个绿色的视听环境。
4.3.1歌词信息读取主要代码
根据选中的文件夹的路径,读取该文件夹下的所有歌词文件(lrc)文件,然后将文件内容一句一句进行“对比”,如出现广告等垃圾信息,则删除该行歌词,并填充有用信息,直到所有歌词信息对比完毕。
歌词信息读取的方法
protectedfunctionselected_Handler(event:
4.3.2歌词信息广告删除主要代码
歌词信息广告删除原理:
图4.3酷猪音乐删除广告信息流程
4.4本地歌曲扫描
用户往往会将音乐和歌词存储在本地硬盘的一个文件夹中,以便于管理,本音乐播放器支持扫描本地硬盘文件夹的功能,能一次性将一个文件夹的内容扫描生成一个列表。
4.4.1本地硬盘歌曲扫描主要代码
扫描用户指定的文件夹,将文件夹下的所有MP3文件的文件名和文件路径读取出来,按照一定格式写入一个string,然后将改string按照utf-8的编码方式写成一个xml文件。
扫描用户指定的文件夹
protectedfunctionfileScan_Btn_clickHandler(event:
protectedfunctionshowFile(event:
4.4.2生成扫描结果(xml文件)主要代码
Xml文件生成原理:
图4.4酷猪音乐xml文件生成原理
第五章软件测试
5.1软件基本功能模块测试(黑盒测试)
5.1.1软件前台使用测试
用户打开播放器后,在显示播放器主界面的同时将播放播放器的启动音乐,在桌面上出现以下界面,说明启动成功。
软件基本功能模块如图5.1示。
图5.1软件功能模块导航
点击软件界面的各个按钮进行以下测试:
5.1.1.1音乐播放部分:
(1)音乐扫描
对于存在硬盘上的mp3文件夹,本播放器可以一次性添加进入播放列表。
在打开播放器后,只需要点击播放器界面左下侧的“扫描歌曲”按钮,然后在弹出的对话框中选择正确的歌曲目录,点击确定后,歌曲扫描将自动进行,扫描完成后将弹出警告,然后将扫描得到的歌曲以列表的形式显示在播放列表中。
图5.2扫描前(播放列表为空)
图5.3扫描后(播放列表添加了内容)
本软件产生成的播放列表文件是一个xml文件,文件路径为“D:
\kuku\playlist”,目前还不支持多列表。
列表文件及路径如下图:
图5.4磁盘上生成了播放列表文件(下次打开播放器就不需要再次执行扫描操作)
(2)音乐操作(上下一曲、暂停播放、停止、音量调节、进度条拖动)
双击播放列表中的任意一歌曲,歌曲将开始播放,同时歌曲的控制控件开始生效。
测试结果下图所示。
图5.5音乐播放截图
(3)歌词处理
在播放歌曲的同时,歌词会自动跟随歌曲同步播放。
在点击界面上的歌词控制控件后,歌词将关闭,再次点击歌词控制控件,歌词将再次打开。
5.1.1.2常用工具部分:
当今很多人已经习惯每天坐在电脑前办公,每一天的工作都是围绕着电脑转,为了提供这些人方便,本播放器集成了一些办公上可能有用的功能。
本软件的常用工具所产生的数据都存放在“D:
\kuku\tool”目录下,各种kztd(KuZhuToolData)文件分别表示不同的工具产生的数据。
文件如下图:
图5.6播放器数据文件
(1)提醒
为自己的时间安排设置一个提醒,用户可以同时设置多个提醒,多个提醒互不干扰。
当提醒时间到达设置的时间时,播放器将通过右下角弹窗提醒用户需要处理某件事,然后播放器将删除这个提醒。
通过点击“新建”打开“新建提醒”窗口,然后输入信息,输入完毕后,再点击“添加+”按钮,则提示用户创建成功。
点击“查看”按钮则可以看到当前已有的所有“提醒”,并且将计时显示该提醒的所有内容。
图5.7用户设置提醒
(2)记事本
随意的记录某些东西,或者是创意的灵感、或者是烦心的诉说、或者是对某人的思念。
通过点击“新建”打开“新建记事本”窗口,然后输入信息,输入完毕后,再点击“添加+”按钮,则提示用户创建成功。
点击“查看”按钮则可以看到当前已有的所有“记事本”。
图5.8用户设置“记事本”
(3)闹钟
按照设定的时间,在每周的同一时间提醒用户。
上下班闹钟、午睡闹钟、餐饮闹钟等。
直接点选闹钟界面上的各个控件来设置时间,然后输入提示信息,点击“确定”按钮即可。
图5.9用户设置“闹钟”
(4)便签
提醒他人或自己。
通过点击“新建”打开“新建便签”窗口,然后输入信息,输入完毕后,再点击“添加+”按钮,则提示用户创建成功。
点击“查看”按钮则可以看到当前已有的所有“便签”。
图5.10用户设置“便签”
(5)约会
按照用户的设定提醒用户,记录约会的时间、地点、人物等,有会议或者约会需要在某些时候开始,提前准备。
通过点击“新建”打开“新建约会”窗口,然后输入信息,输入完毕后,再点击“添加+”按钮,则提示用户创建成功。
点击“查看”按钮则可以看到当前已有的所有“约会”,并且将计时显示该约会的所有内容。
图5.11用户设置“约会”
5.2软件后台调试(白盒测试)
5.2.1音乐播放部分后台调试
音乐播放部分需要处理的内容是最多最复杂的,首先需要保证音乐的正常播放,其次还要保证歌词的同步播放,再次需要保证播放进度条和声音的与实际播放和音量的同步。
通过断点调试,一步一步往下调试,逐步跟踪各个变量的变化,适时监控程序的运行,从而很轻松地能够看到异常和错误位置。
在这期间进行了大量的调试工作,尽量通过调试发现程序中的已知错误。
5.2.2常用工具部分后台调试
常用工具主要需要处理的是用户自定义的数据、软件在使用过程中产生的数据在本地硬盘的存放。
需要保证数据的读写完整性,需要保证数据的逻辑处理的正确性。
主要调试界面如下图:
图5.12软件调试
结论
酷猪音乐播放器在经过好几个月的设计和开发,终于得到了一个比较粗糙的版本——Vision1.0.0.1。
这个版本在很多方面还存在诸多漏洞,还需要长时间的改进和维护。
我会努力改进播放器的性能,使它满足大家的多方面的需求。
通过这次毕业设计,我学到了很多。
首先是开发技术方面的经验;
然后是软件工程方面的经验;
还有就是与人交流方面的经验。
由于在开发前,没有对软件进行详细的设计,没有将软件工程的思想应用到开发过程中,所以导致在开发过程中出现了很多麻烦,很多问题直到开发过程中才遇到,导致将软件提交时间一直延后。
而且在开发过程中出现了好多次代码混乱的问题,导致软件源代码中重复代码量可能比较多。
这些都是需要改进的地方。
还有就是一些功能没有想到,在开发过程中临时想到的,就硬性地添加上了。
通过这次毕业设计,我感触很深的就是,在着手编码之前,一定要将软件详细设计出来,然后根据设计方案,一步一步完善代码。
且不可以心急求成而忽略软件的详细设计这个步骤。
再有就是软件的可维护性比较差,很多代码都是“硬性”代码,也就是那种“牵一发而动全身”的代码,虽然代码中的提示我已经尽量的做到了详细,但是还是存在一些解释不清的地方。
在开发过程中,我查看了一下网上的网友的对播放器的一些实现方法,然后自己重新设计了一套方案,在功能上尽量完善,因为他们的算法是一个个的独立的模块,没有系统性和整体性,不能和其他模块很好地兼容。
比如网上的音乐播放器的音乐列表的生成,是手动写上去的,这对于没有很高的计算机功底的人来说是不可能完成的事而我的列表时自动生成自动显示的;
对于歌词网上的算法是一次性将歌词读取出来,但是显示的时候只根据时间显示一段,而我的算法是,将歌词全部读取到一个数组中,然后根据时间,一句一句调用显示;
对于在本地存储数据,网上的方法很少,几乎没有,而且网上的算法不支持自定义对象的存储,我通过查找相关资料,得到将中间数据序列化的方法,然后成功将本地数据存储在本地硬盘中,实现了数据的持久化和可修改性。
由于开发经验的欠缺和作者专业知识有限,软件内部存在很多问题,而且在逻辑上存在很多漏洞,希望老师们和同学们批评指正,我一定努力改正,将酷猪音乐播放器进一步完善和升级,也希望同行专家学者帮忙改进和维护,争取做一个绿色无广告的功能完善的音乐播放器。
参考文献
[1]李庆国.音乐多媒体入门[M].上海:
上海音乐出版社,2011:
31-32.
[2]XX百科.XX百科[EBOL].foobar,2011.view58472..
[3]赵一飞.Flex4.0开发宝典[M].北京:
电子工业出版社,2011:
30-32.
[4]张猛.Flex一学就会[M].北京:
人民邮电出版社,2010:
10-12.
[5]董龙飞,肖娜.AdobeFlex大师之路[M].北京:
电子工业出版社,2009:
59-61.
[6]张亚飞.FlashFlexActionScript3.0开发权威手册[M].北京:
中国铁道出版社,2010:
33-35.
[7]张翠芬,杨博,杜昱宏.Flex4权威指南[M].北京:
人民邮电出版社,2011:
89-91.
[8]孙颖.FlashActionScript3殿堂之路[M].北京:
电子工业出版社,2007:
107.
[9]左伟明.完全掌握xml[M].北京:
人民邮电出版社,2009:
20.
[10]张柏林,张卫星.AdobeFlex3高级编程[M].北京:
清华大学出版社,2011
:
.
[11]章精设,胡登涛.flashactionscript3.0从入门到精通[M].北京:
清华大学出版社,2008
22-23.
[12]吕洋波.ActionScript3.0典型范例速查手册[M].北京:
中国铁道出版社,2009
29-30.
谢辞
在毕业设计学习期间,我得到了学校的多方面支持,使我的毕业设计在各方面进行的非常顺利,这里要对老师和同学们表示感谢。
感谢给予我帮助的学院的老师们,特别感谢董斌老师的技术方面的支持和鼓励。
在播放器的算法和设计上,参考了学院计算机科学与技术专业同学们的意见和建议,使得该播放器在多方面得到改进。
感谢那些给我提供算法参考和软件结构参考的同学,没有你们就没有现在的酷猪音乐播放器。
感谢答辩老师们百忙之中抽出宝贵的时间来对我的毕业论文进行最后的审查答辩。
再一次对帮助过我的老师和同学表示忠心地感谢。
以下免费送您一百个优秀毕业论文题目,供参考。
1.企业集团激励与绩效评价问题研究
2.XXX地区中小企业财务管理现状问题研究
3.XXX地区上市公司盈利质量实证研究
4.XXX地区企业集团整合过程中的财务问题研究
5.XXX地区中小企业的信用担保体系问题研究
6.XXX地区上市公司财务预警问题研究
7.企业并购前后财务状况变化问题研究
8.以平衡计分卡为核心的绩效评价体系研究
9.EVA在企业绩效评价中的作用研究
10.关于我区中小企业引入风险投资问题研究
11.我国上市公司经营目标的实证分析
12.对内含报酬率法的再思考
13.利用平衡计分卡落实战略的案例分析
14.基于EVA的企业业绩评价指标体系的构建与实施研究
15.基于不同发展周期的企业财务战略选择研究
16.集团公司全面预算目标的制定与分解
17.现金流量折现法在评估公司战略中的应用分析
18.财务指标与非财务指标在评估管理者业绩中的应用拟合
19.我国企业财务管理目标的现实选择
20.财务管理目标与企业财务核心能力问题研究
21.企业财务管理中运用税收筹划的探讨
22.建立以财务管理为核心的资源配置制度
23.财务预警系统在财务管理中应用评价
24.基于Excel的财务预警模型研究
25.中西部地区中小企业财务战略选择问题研究
26.中小企业纳税筹划问题研究
27.企业投资过程中的纳税筹划问题研究
28.企业集团纳税筹划问题研究
29.企业纳税筹划中的风险规避问题研究
30.从公司治理结构透视财务管理目标
31.作业成本管理模式及其应用研究
32.论管理层并购在我国的运用
33.企业并购中的财务风险与防范
34.跨国公司财务管理策略及其在我国的实践
35.关于上市公司并购的财务分析
36.跨国公司财务管理体制的比较与选择
37.跨国公司财务管理策略及其在中国的实践
38.全球化与财务管理发展趋势及其模式选择
39.财务治理与财务管理之异同
40.EVA对传统财务管理的冲击
41.企业财务管理机制重塑问题探讨
42.财务管理发展的文化分析
43.利益相关者合作模式下的财务管理目标选择
44.行为财务管理探索——以价值管理为中心
45.上市公司股利政策实证研究
46.公司治理结构与财务管理目标问题研究
47.产权理论分析与财务管
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 基于 AS30 音乐 点播 系统 设计 实现 毕业论文
![提示](https://static.bdocx.com/images/bang_tan.gif)