基于ActionScript的音乐播放器的研究

2016-03-15 14:13姚竞英
湖南邮电职业技术学院学报 2016年3期
关键词:补间播放器按钮

姚竞英

(无锡城市职业技术学院,江苏无锡214153)

基于ActionScript的音乐播放器的研究

姚竞英

(无锡城市职业技术学院,江苏无锡214153)

Flash是一款功能强大的二维动画制作软件,ActionScript语言使动画有了强大的交互性和控制作用。文章介绍了ActionScript语言的历史、特点和核心语言功能,举例讲解了三类Flash的交互功能,探讨了基于ActionScript语言的音乐播放器的设计。

ActionScript;Flash;音乐播放器

Flash是Adobe公司出品的一款功能强大、应用广泛的矢量动画制作软件,它所采用的矢量图图像质量高、生成的动画文件体积小,易于在网络上运行和传播。Flash从6.0开始,每一次版本的升级,其内置脚本语言ActionScript都是重头戏,它使得Flash不仅能制作专业水准的动画,还具有强大的交互性控制作用,在多媒体、游戏等方面都有着精彩的表现。

1 ActionScript语言(简称AS)

1.1AS语言介绍

Flash动画的制作技术主要有逐帧动画、传统补间动画、补间动画和补间形状,其中又有引导、遮罩等内容使动画更加丰富多彩,但这些技术制作出的动画只能让用户观看,却不能与用户产生互动,未免就过于死板,因此,Macromedia公司专门为Flash设计了AS语言,精彩的技术配合上多样化的AS语言,使动画能够与用户更好地交流,有了质的飞越。

AS和Java一样是基于ECMAScript(编程语言的国际规范化的语言)开发的面向对象的程序设计语言,它的类库丰富多样化,功能很强大,主要用于控制播放、数据显示、交互功能、动态网页、实用性开发和虚拟实验等。AS程序由ActionScript虚拟机(AVM)执行,而AS3.0所使用的执行虚拟机AVM2.0的执行效率远远超过之前的版本。

1.2AS语言的特点

AS语言采用Flash中的事件来对程序驱动,以关键帧、影片剪辑元件、按钮等作为对象来定义和编写。Flash动画场景能缩放自由并且不变形;生成的SWF文件中的文字、图像、音频、视频等数据是经过打包压缩的,文件体积比较小,适合传播。AS语言包含了算法、变量和函数,由很多行代码组成,每行又有若干的命令、函数、变量组成,具有对XML对象、组件和类的支持,能够实现后台数据和各种事件之间的交互。

1.3AS3.0的核心语言功能

1)运行时异常处理机制:与之前的AS版本相比,AS3.0报告的错误类型比较多,在运行时显示错误会指出行号信息注释的堆栈跟踪,使用户快速地找到错误点。

2)密封类:它只具有在编译程序时定义的一组固定的方法和属性,不可以随意添加其它内容,这让编译时的检查显得更加严格,增加了程序的可靠性。可使用dynamic关键字实现动态类。

3)运行时类型:AS3.0中,类型信息在程序运行时给予保留,并且可用在以本机形式表示变量,减少了内存的使用量,提高了程序的性能。Flash Player运行时执行类型检查,提高了系统的类型安全性。

4)闭包方法:此项功能有利于事件的处理,可以记录它的原始对象实例。

5)新数据类型:AS3.0具有int类型和uint类型。int类型是32位整型,包括正整数、负整数和零,它利用了CPU的快速处理整数运算的能力。Uint类型是无符号整形,用来表示零和正整数,主要用于字节计数和RGB颜色值。

2 Flash的交互功能

利用AS语言,Flash能让用户按照自己的想法创建动画,并且能够参与到动画中来。Flash的交互过程包含了事件和动作脚本两个主要内容,其中的“事件”分为影片剪辑事件、帧事件、鼠标事件等。

2.1按钮元件的交互

指利用按钮元件来控制动画的播放。例如制作一个按钮来控制背景音乐的开关:按钮元件外观制作完成后,放到舞台适当的位置,选中它,按F9打开“动作面板”,给按钮添加如下脚本:

on(release){//鼠标单击按钮后才能触发按钮事件

mymusic=new Soun();//创建一个声音对象,名为mymusic

mymusic.stop();//声音暂停

mymusic.loadSound(“bk.mp3”,false);//加载文件名为bk.mp3的音乐到mymusic对象中。参数false表示音乐完全加载后才能start()函数播放

mymusic.start();//播放背景音乐

再用同样的方法添加一个控制音乐停止的按钮2.2键盘事件的交互

指用键盘来控制动画的播放。这里需要考虑的问题是:程序怎样可以响应键盘事件;对符合条件的程序和不符合条件的程序如何分别处理。例如在“雷电游戏简易版”中,创建如下“键盘松开处理”函数

function keyud(e:KeyboardEvent){//方向键松开时数组[0]元素清零;其它功能键松开时,数组[1]元素清零

if(e.keycode>=37&&e.keycode<=40){

codearr[0]=0;

}else{

coder[1]=0;

2.3数据的交互

AS3.0不能直接访问操作数据库,与后台交互实现数据交流就需要后台服务端语言,例如jsp、asp、php等网络语言,通过get或者post方式提交数据到后台,或者通过数据接口读取后台数据,通常交互的数据格式为xml或者json。在AS3.0里,原来的load-Vars方法已经不再使用,而改用一系列的类来实现与后台数据的交互,这些类是:URLLoader,URLLoader-DataFormat,URLStream,URLVariables。

3 基于AS的音乐播放器

在Flash中基于AS的音乐播放器的制作主要分成以下几部分内容:

1)播放器界面:可以在PS中绘制完成,或在Flash中用绘图工具完成;

2)XML文件:可以在文本文件或网页中完成,主要包含该播放器所要播放的MP3文件的相关信息如名称、存放地址等,以便使用;

3)新建一个专门放置代码的图层,取名AS,在其第1帧添加分别实现以下几种功能的代码。

定义数组和声音类

预读函数

播放声音函数

function loadsound(x){

played=0;

pausefalse;

key=true;

=new Sound();

s.loadSound(urlx,true);

trackname=(id+1)+".-"+mp3name[id];

s.start();

s.onSoundComplete=function(){

id=(id==mp3total.length-1)?0:(id+1);

loadsound(mp3[id]);

};

mix.gotoAndStop(1);

preloading();

预读XML、分析XML、读取XML

4)制作4个控制音乐的按钮,分别是上一首、停止、播放/暂停和下一首,依次取名an1-an4。在图层AS中为按钮添加代码(以an2为例)。

an2.onPress=function(){

//判断这个按钮是否可以按下去

if(key){

s.stop();//停止声音

trackname="STOP";//trackname里面显示STOP

mix.gotoAndPlay(1);//让模拟音高的MC停止播放

played=0;

key=false;

s=new Sound();

};

5)在界面上放置动态文本框,变量为timeline,在图层AS中添加代码,为播放器加上歌曲播放时间显示。

6)制作音乐控制条和进度条。

7)制作模拟频率音高的动画:在影片剪辑元件中用遮罩技术完成。

4 总结

随着计算机动画技术的不断发展,Flash从最初的较多用逐帧技术创作二维动画,到如今加入了3D效果、骨骼动画、编程技术,内容越来越丰富,功能日渐强大。在Flash中利用时间轴和元件实例,加上补间动画、补间形状等技术,运用自带的功能强大的组件库,可以制作出生动的动画作品,再配合使用ActionScript添加代码,渲染效果,与用户产生很好的互动,使得Flash在应用软件设计、游戏制作、数学建模、解绘制图等方面表现更精彩,开启了新的篇章。

[1]禹禄君.基于大数据的信息系统关键技术研究[J].湖南邮电职业技术学院学报,2015(3):40-42.

[2]张屹峰.基于ActionScript的教学仿真动画设计的研究[J].电脑与信息技术,2015(4):29-32.

[3]刘悦.基于Flash ActionScript的汉字书写软件的设计与实现[J].电脑知识与技术,2015(9):80-82.

[4]王云.使用ActionScript脚本打造动画场景特效[J].图形处理与多媒体,2015(20):83-84.

[5]陈雨婕.基于ActionScript3.0的Flash游戏开发探讨[J].实践与经验,2015(1):16-18.

[6]张忠华.Flash平台的数据库应用方法[J].中国医学教育技术,2013(12):669-671.

[7]郭德伟,柯建宏.基于Flash ActionScript的机构运动简图测绘实验设计与开发[J].计算机与数字工程,2012(2):105-108.

Research onmusic player based on ActionScript

YAO Jing-ying
(Wu xi City CollegeofVocational Technology,Wu xi,Jiang su,China214153)

Flash isa kind of powerful two-dimensional animation software.ActionScript languagemakes the animation have strong interaction and control functions.Theauthor introduces thehistory,characteristics and core language functionsof ActionScript language. The paper explains the interaction function of three kinds of Flash with examples and discusses the design ofmusic p layer based on ActionScript language.

ActionScript;Flash;music player

10.3969/j.issn.2095-7661.2016.03.009】

TN912.2

A

2095-7661(2016)03-0033-02

2016-06-20

姚竞英(1979-),女,江苏无锡人,讲师,硕士,研究方向:FLASH动画制作、程序设计、数据库。

猜你喜欢
补间播放器按钮
当你面前有个按钮
Walkman诞生40周年 索尼适时发布NW-ZX500和NW-A100系列播放器
浅析Flash中三种“补间”动画的应用
迷宫寻宝
基于STM32的MP3播放器设计
Moon ACE播放器/放大器一体机
死循环
播放器背板注塑模具设计
用微课辅助“动画补间”动画教学
加强自主探究学习提高信息表达能力——“‘父亲’的变化——形状补间动画”教学设计