AS3基础教程-第36课-mp3播放器(1)
1、打开flashCS6软件,新建AS3的flash文档。本节课实现下面的目标:<1>载入外部音乐<2>布置播放和暂停按钮,分别实现播放和暂停的效果<3>播放和暂停按钮不同时存在<4>如果单击了暂停按钮,再单击播放,将会续播
2、我们先设计界面。本节课只有两个按钮,我们从公用库内拖出两个来,一个播放的、一个暂停的保证宽高比锁定的前提下,将宽度调节为50 ,从而让按钮不至于太小,影响观感。然后在属性面板内设置实例名分别为 play_btn 和 pause_btn最后,将图层1重命名为 按钮如下图所示

4、接下来准备写代码,首先使用代码片段功能,给暂停按钮添加 单击命令,会自动生成Actions图层,将里面的代码稍事修改,去掉所有的注释,然后将相应函数的名字修改为 danji 将参数的名字修改为 evt

6、接下来,当然是在响应函数内,使用switch语句,对单击操作进行“分流”:switch(evt.target.name){ case "play_btn": //播放按钮的代码 break case "pause_btn": //暂停按钮的代码 break }
7、现在,我们先解决 两个按钮不同时出现 的目标。在这里需要用到 显示对象【包括影片剪辑和按钮两种元件,以及使用代码生成的显示在舞台上的对象。它们合称为显示对象】的visible属性,该属性控制的是显示对象的显示与隐藏,其类型是 布尔类型,仅有true和false两个数值。
8、由于,一打开作品声音就播放,故此,此时的舞台上只显示暂停按钮,那么播放按钮就要隐藏,代码如下://模块一:按钮的显示与隐藏play_btn.visible=false//播放按钮pause_btn.visible=true//暂停按钮
9、然后,单击播放按钮时,播放按钮隐藏,暂停按钮显示;反之,单击暂停按钮时,暂停按鸵晚簧柢钮隐藏,播放按钮显示。故此,在响应函数内部的两条分支语句内,分别新增代码如下://播放按钮的代码 play_btn.visible=false//播放按钮 pause_btn.visible=true//暂停按钮//暂停按钮的代码 play_btn.visible=true//播放按钮 pause_btn.visible=false//暂停按钮如下图所示

12、测试影片,无误。一打开本程序,声音就播放。现在,我们需要给两个按钮分别添加暂停播放和继续播放的功能。那么,仍然是需要事先定义一个Number类型的变量,用于存储当前声音的播放进度:var sdjd:Number=0//声音进度那么,播放按钮的响应函数内,需新增的代码是:sdcn=mysd.play(sdjd)暂停按钮的响应函数内,需新增的代码是:sdjd=sdcn.position sdcn.stop()

13、测试影片,发现本节课的目标已经全部实现。不要忘记保存fla文件哦。本节课的完整代码如下:坡纠课柩import flash.m髫潋啜缅edia.Sound;import flash.net.URLRequest;import flash.media.SoundChannel;//模块一:按钮的显示与隐藏play_btn.visible=false//播放按钮pause_btn.visible=true//暂停按钮//模块二:声音var sdjd:Number=0//声音进度var url:String="E:/music/爱你爱的好疲惫.mp3"var urr:URLRequest=new URLRequest(url)var mysd:Sound=new Sound(urr)var sdcn:SoundChannel=new SoundChannel()sdcn=mysd.play()play_btn.addEventListener(MouseEvent.CLICK, danji);pause_btn.addEventListener(MouseEvent.CLICK, danji);function danji(evt:MouseEvent):void{ switch(evt.target.name){ case "play_btn": //播放按钮的代码 play_btn.visible=false//播放按钮 pause_btn.visible=true//暂停按钮 sdcn=mysd.play(sdjd) break case "pause_btn": //暂停按钮的代码 play_btn.visible=true//播放按钮 pause_btn.visible=false//暂停按钮 sdjd=sdcn.position sdcn.stop() break }}