ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:677.19KB ,
资源ID:9338598      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9338598.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FLASH CS4制作音频播放器.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FLASH CS4制作音频播放器.docx

1、FLASH CS4 制作音频播放器FLASH CS4 制作音频播放器在制作音频播放器时,可以通过外部XML文件载入音乐的名称和地址。然后再将名称添加到动态生成的组件中,并为其添加事件,实现鼠标单击播放。另外,还可以通过自定义的各种按钮控制音乐的播放、停止、暂停以及播放上一首和播放下一首等,如图14-12所示。图14-12 音频播放器设计过程:1设计界面与列表(1)新建main.fla文件,设置影片背景颜色为“黑色”,并导入播放器背景的素材图像,如图14-13所示。图14-13 导入背景图像(2)制作各种播放器的按钮,以及音量滑块和播放进度条,如图14-14所示。图14-14 制作各种按钮和进度

2、条音频播放器的按钮主要包括跳转上一首歌(lastbtn)、播放(playbtn)、跳转下一首歌(nextbtn)、停止(stopbtn)、暂停(nextbtn)、静音(mutebtn)、开启声音(unmutebtn)、打开/关闭播放列表(listbtn)、关闭播放列表(closelist)等按钮。(3)新建“playlist”元件,根据素材图像制作播放列表的背景,如图14-15所示。图14-15 制作播放列表背景(4)用记事本新建xml文件,并编写歌曲列表。其代码如下: 2加载xml列表(1)新建script.as文件,将其保存在影片目录下的action文件夹中。在影片的【属性检查器】中设置【

3、类】为action.script,如图14-16所示。图14-16 设置外部类(2)在script.as中创建名为action的包,并导入各种外部类。其代码如下:package action import flash.display.Sprite; /导入显示基类 import flash.display.MovieClip; /导入影片剪辑类 import flash.display.Bitmap; /导入位图类 import flash.display.BitmapData; /导入位图数据类 import flash.events.Event; /导入普通事件类 import flash

4、.events.MouseEvent; /导入鼠标事件类 import .URLLoader; /导入加载对象类 import .URLRequest; /导入加载对象请求类 import flash.display.SimpleButton; /导入自定义按钮类 import flash.text.TextField; /导入文本域类 import flash.text.TextFormat; /导入文本格式类 import flash.media.Sound; /导入声音类 import flash.media.SoundChannel; /导入声音声道类 import flash.med

5、ia.SoundLoaderContext; /导入声音加载环境类 import flash.media.SoundTransform; /导入声音转换类 import flash.media.SoundMixer; /导入声音混成器类 import flash.media.ID3Info; /导入音乐附加信息类 import flash.utils.ByteArray; /导入二进制数组类 import flash.filters.GlowFilter; /导入发光滤镜类 import flash.display.Shape; /导入图形元件类(3)自定义script类,并创建歌曲列表的相关

6、全局变量,然后自定义loadXMLList()函数,添加加载XML的事件。其代码如下:public class script extends Sprite public var musicListURL:String=xml/list.xml;/实例化歌曲列表XML的路径 public var musicListRequest:URLRequest=new URLRequest(musicListURL); /实例化加载歌曲列表的需求 public var musicListLoader:URLLoader=new URLLoader(musicListRequest); /实例化歌曲列表的X

7、ML public var symbolArray:Array=new Array ();/实例化歌曲音轨的数组 public var nameArray:Array=new Array (); /实例化歌曲名称数组 public var urlArray:Array=new Array (); /实例化歌曲路径数组 public var currentMusic:int=2; /定义当前应播放的歌曲编号public function loadXMLList():void /自定义loadXMLList()函数,加载XML musicListLoader.addEventListener(Ev

8、ent.COMPLETE,listLoadComplete);/监听加载完成事件 (4)自定义listLoadComplete()函数,将XML中的数据追加到相应的数组中。其代码如下所示:public function listLoadComplete(event:Event):void var list:XML=XML(event.target.data); var i:int=0; for each (var listElement:XML in list.elements() symbolArray.push(String(listElement.symbol); nameArray.p

9、ush(String(listElement.name); urlArray.push(String(listElement.url); loadListText(); loadSound();(5)根据数组和当前应播放的歌曲编号,自定义loadSound()函数,加载声音。其代码如下:public function loadSound():void musicURL=urlArraycurrentMusic; musicRequest=new URLRequest(musicURL); music=new Sound (); music.load(musicRequest,musicBuff

10、er); music.addEventListener(Event.ID3,outputID3);(6)自定义loadListText()函数,用于动态生成显示歌曲名称的组件,并通过其在数组中的索引号判断其在歌曲列表背景图像中的位置。其代码如下:public function loadListText():void if (nameArray.length!=0) /判断如果XML中数据不为空 for (var i:int=0; inameArray.length; i+) /开始循环 var listText:TextField=new TextField (); /实例化文本域 listT

11、ext.doubleClickEnabled=true; /设置文本域允许被双击 listText.maxChars=9; /设置文本域最大字符数 listText.height=18; listText.width=105; /设置文本域大小 listText.text=nameArrayi; /设置文本域中显示的文本 if (i=4&i=8&i=12&i16) listText.x=110; listText.y=-55+(i-12)*18; /根据歌曲的编号判断文本域位置 listText.addEventListener(MouseEvent.MOUSE_OVER,overList);

12、 listText.addEventListener(MouseEvent.MOUSE_OUT,outList); listText.addEventListener(MouseEvent.CLICK,choiceMusic); listText.addEventListener(MouseEvent.DOUBLE_CLICK,playMusic); /为文本域添加鼠标事件 listText.selectable=false; listTextArray.push(listText); /将文本域追加到数组中。 playList.addChild(listText); /设置文本域在播放列表背

13、景中显示 (7)自定义overList()、outList()、choiseMusic()以及playMusic()等函数,用于实现歌曲列表的相关鼠标事件。其代码如下:public function overList(event:MouseEvent):void /鼠标滑过歌曲列表的事件 if (event.target.background=false) event.target.background=true; event.target.backgroundColor=0x66FF00; /改变歌曲列表文本域的背景颜色public function outList(event:MouseE

14、vent):void /鼠标离开歌曲列表的事件 if (event.target.backgroundColor=0x66FF00) event.target.background=false; /取消歌曲列表文本域的背景颜色public function choiceMusic(event:MouseEvent):void /鼠标单击歌曲列表的事件 for (var i:int=0; ilistTextArray.length; i+) /用循环取消歌曲列表的背景颜色 listTextArrayi.background=false; event.target.background=true;

15、 event.target.backgroundColor=0xCCFF00; /改为新的背景颜色 currentMusic=listTextArray.indexOf(event.target);/根据当前音乐编号判断 loadSound();/加载声音 stage.addChild(musicInfo); stage.addChild(musicInfoShadow); /显示音乐的信息public function playMusic(event:MouseEvent):void /播放选中的音乐 if (onPause=false) /判断是否暂停状态 channel=music.pl

16、ay(); stage.addEventListener(Event.ENTER_FRAME,movePlayBlock);/进度条开始 else /处于暂停状态 channel=music.play(playPosition); /按照已有进度播放音乐 stage.addEventListener(Event.ENTER_FRAME,movePlayBlock); onPlay=true; onPause=false;/当前状态(8)自定义buttonsSet()函数,为各种按钮添加鼠标事件。其代码如下:public function buttonsSet():void playBtn.ad

17、dEventListener(MouseEvent.CLICK,playMusic);/播放按钮 lastBtn.addEventListener(MouseEvent.CLICK,lastMusic);/上一首歌按钮 nextBtn.addEventListener(MouseEvent.CLICK,nextMusic);/下一首歌按钮 closeList.addEventListener(MouseEvent.CLICK,showList);/关闭列表按钮 listBtn.addEventListener(MouseEvent.CLICK,showList);/开启列表按钮 pauseBt

18、n.addEventListener(MouseEvent.CLICK,pauseMusic);/暂停按钮 stopBtn.addEventListener(MouseEvent.CLICK,stopMusic);/停止按钮 muteBtn.addEventListener(MouseEvent.CLICK,muteMusic);/静音按钮 unmuteBtn.addEventListener(MouseEvent.CLICK,unmuteMusic);/开启声音按钮(9)自定义showList()、listDown()以及listUp()函数,根据列表的开关情况执行相应指令。其代码如下:pu

19、blic function showList(event:MouseEvent):void /自定义函数,用于显示/隐藏列表 if (playList.visible=true) /判断,如已显示 stage.addEventListener(Event.ENTER_FRAME,listDown);/执行隐藏列表的函数 else /否则 stage.addEventListener(Event.ENTER_FRAME,listUp);/执行显示列表的函数 public function listUp(event:Event):void /自定义函数,用于显示列表 playList.y-=11;

20、/列表弹出的速度 if (playList.y=200) /如果列表隐藏到200像素以下 playList.y=200;/将列表固定 playList.visible=false; /列表状态更改为隐藏 stage.removeEventListener(Event.ENTER_FRAME,listDown);/中止执行函数 (10)自定义movePlayBlock(),用于使音乐播放进度的滑块运动。其代码如下:public function movePlayBlock(event:Event):void /自定义函数,用于移动进度滑块 playPosition=channel.positio

21、n; /获取当前播放进度 playBlockMap.x=playPosition/music.length*500+25;/计算进度条移动的速度 if (playBlockMap.x520) /当播放完成时 stage.removeEventListener(Event.ENTER_FRAME,movePlayBlock);/停止进度条滑块移动 playBlockMap.x=25;/进度条滑块归零 playPosition=channel.position; /重新获取当前播放进度 onPlay=false;/当前状态为停止播放 (11)自定义muteMusic()和unmuteMusic()

22、函数,用于实现静音和打开音量。其代码如下:public function muteMusic(event:MouseEvent):void /自定义函数,用于响应静音按钮 var musicTransform:SoundTransform=new SoundTransform ();/重新实例化声音转换对象 muteBtn.visible=false;/隐藏静音按钮 unmuteBtn.visible=true;/显示开启声音按钮 musicTransform.volume=0;/音量设置为0 SoundMixer.soundTransform=musicTransform;/将音量值赋给声音

23、混合器 volumeBlockMap.x=25;/音量滑块归零public function unmuteMusic(event:MouseEvent):void /自定义函数,用于响应开启声音按钮 var musicTransform:SoundTransform=new SoundTransform ();/重新实例化声音转换对象 muteBtn.visible=true;/显示静音按钮 unmuteBtn.visible=false;/隐藏开启声音按钮 musicTransform.volume=0FLASH CS4;/音量设置为0FLASH CS4 SoundMixer.soundTr

24、ansform=musicTransform;/将音量值赋给声音混合器 volumeBlockMap.x=130;/音量滑块移动(12)自定义lastMusic()函数,用于跳转到前一首音乐中。其代码如下:public function lastMusic(event:MouseEvent):void /自定义函数,用于响应跳转上一首音乐按钮 if (currentMusic0) /当前非第一首音乐时 stage.removeEventListener(Event.ENTER_FRAME,movePlayBlock);/停止进度条 for (var i:int=0; i30&mouseX240) /判断当鼠标横坐标属于音量条的范围内 volumeBlockMap.x=mouseX; /音量滑块的横坐标与鼠标横坐标相等 var musicTransfor

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

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