[AS3.0编程教学]最全的声音控制方法

合集下载

AS3.0脚本声音的调用及简单控制

AS3.0脚本声音的调用及简单控制

AS3.0脚本声音的调用及简单控制一,Sound 类Sound 类允许您在应用程序中使用声音。

使用Sound 类可以创建新的Sound对象、将外部MP3 文件加载到该对象并播放该文件、关闭声音流,以及访问有关声音的数据。

Flash9.0 软件对声音的编辑和调用分为四种:(1)将音乐导入舞台的时间轴上。

(2)从库中调用声音。

(3)网络中调用音乐。

(4)电脑硬盘中调用音乐。

将音乐导入到舞台时间轴控制音乐,想必大家都已非常的熟悉。

从库中、网络中和电脑硬盘中调用音乐既有相似之处,但也有一定得区别。

在这里我们先介绍从库中调用音乐,从电脑硬盘中调用音乐,以及从网络中调用音乐。

1, 从库中调用打来Flash9.0 软件,导入一首音乐到库中,右键链接,链接名:Snd。

在场景的第一帧,打开动作面板,输入语句:varsy:snd=new snd();sy.play();测试影片,音乐即可播放2,从电脑硬盘中调入vardizhi:URLRequest=new URLRequest("jijiao.mp3");varshengyin:Sound=new Sound();shengyin.load(dizhi);shengyin.play();varshengyin:URLRequest=new URLRequest("E:/音乐/回家.mp3");varshengyin:Sound=new Sound(urlMus);snd.play();测试影片,电脑中的音乐也可播放3,从网络中调入音乐varurlMus:URLRequest=new URLRequest(" /0808/在心里从此永远有个你.mp3");varsnd:Sound=new Sound(urlMus);snd.play();测试影片前,点发布设置,把Falsh中的本地回放安全性设置成只访问网络,网络中的音乐就可以播放了。

AS3.0用麦克风和音频控制喷泉

AS3.0用麦克风和音频控制喷泉

AS3.0用麦克风和音频控制喷泉//AS3.0用麦克风和音频控制喷泉//放一张水面图片,转化为影片剪辑,属性名:tpimport flash.media.Microphone;import flash.events.SampleDataEvent;import flash.display.MovieClip;import flash.display.GradientType;import flash.events.Event;import flash.media.Sound;import .URLRequest;import flash.utils.ByteArray;import flash.media.SoundMixer;import flash.display.Sprite;import flash.display.BitmapData;import flash.filters.DisplacementMapFilter;import flash.geom.Point;import flashx.textLayout.formats.BackgroundColor;[SWF (width=550,height=400,backgroundColor =0x000000)]var speed:Number = 1;var speed1:Number =0var bmp:BitmapData =new BitmapData(550,400,false,0x00ff00)var zh:DisplacementMapFilter =new DisplacementMapFilter(bmp,new Point(0,0),1,2,10,600) var p1:Point =new Point(0,0)var p2:Point =new Point(0,0)var arr:Array =[p1,p2]tp.addEventListener(Event.ENTER_FRAME,hs)function hs(e){arr[0].x+=0.2arr[1].y+=0.1bmp.perlinNoise (168,10,2,4,true,true,2,true,arr);//柏林噪波函数tp.filters=[zh]}//造一个小水珠sz函数function sz(ww:int,hh:int,y1:uint,y2:uint,y3:uint,t1:Number ,t2:Number ,t3:Number ,jl:int ) {var sz1:MovieClip =new MovieClip ();stage.addChild(sz1);sz1.graphics.beginGradientFill(GradientType .RADIAL ,[y1,y1,y3],[t1,t2,t3],[0,jl,255]);sz1.graphics.drawEllipse(0,0,ww,hh);sz1.graphics.endFill();return sz1;}//造一个含自定义属性及速度参数的小水珠,并运动起来function creatOne(spy:Number ){var sz2 = sz(2,3,0x00ffff,0xffffff,0x000000,0.3,0.5,1,100);sz2.x = stage.stageWidth / 2 + sz2.width / 2;sz2.y = stage.stageHeight - 150;sz2.speedX = Math.random() * 6 - 3;sz2.speedY = Math.random() * 10;sz2.speedZ = Math.random() * 6 - 3;sz2.speedApp = 0;sz2.addEventListener(Event.ENTER_FRAME ,moveFun);function moveFun(e){sz2.speedApp += 0.2;sz2.x += sz2.speedX;sz2.y += - spy + sz2.speedApp;sz2.z += sz2.speedZ;if(sz2.x<0||sz2.x>stage.stageWidth ||sz2.y>stage.stageHeight -100 ||sz2.z<-300||sz2.z>300 ){sz2.removeEventListener(Event.ENTER_FRAME ,moveFun)stage.removeChild (sz2)sz2=null}}}//让多个小水珠不停的喷发出来stage.addEventListener(Event.ENTER_FRAME ,creatDuo);function creatDuo(e){for (var i:int=0; i<100; i++){creatOne(speed+speed1/5);}}init();//初始化麦克风信号和外部音乐波幅数据,作为小水珠的速度function init(){//获取麦克风信号var mic:Microphone = Microphone.getMicrophone();mic.gain = 100;mic.addEventListener(SampleDataEvent.SAMPLE_DATA,SampData);function SampData(e:SampleDataEvent ){speed=e.data .readFloat ()*100;}var son:Sound =new Sound (new URLRequest ("/20200211120022/2c1b3b1ab26ec2166170324a37b8a89b/ymusic/5 56b/0d73/cd02/723368b58e09810bbd48db8c1e1f2fbd.mp3"))son.play (0,5)var byArr:ByteArray =new ByteArray ()var sp:Sprite =new Sprite ()stage.addChild (sp)sp.y=399sp.x=20stage.addEventListener(Event.ENTER_FRAME ,getBy)function getBy(e){sp.graphics .clear ()sp.graphics .lineStyle (1,0xff0000,1)sp.graphics .beginFill(0xffff00,0.5)sp.graphics .moveTo (0,0)SoundMixer .computeSpectrum(byArr)for(var j:int=0;j<512;j++){speed1=byArr.readFloat ()*100sp.graphics .lineTo (j,-Math.abs (speed1))}sp.graphics .lineTo (j,0)sp.graphics .endFill ()}}。

as3.0停止暂停音乐播放

as3.0停止暂停音乐播放

as3.0 停止暂停音乐播放主要功能:点击停止按‎钮使声音停‎止,点击暂停按‎钮使声音暂‎停并使当前‎按钮呈现为‎播放按钮,点击播放挖‎掘使声音播‎放并使当前‎按钮呈现为‎暂停按钮。

制作过程:1、新建FLA‎S H CS3文档‎,保存名为“音乐播放器‎音量控制”,保存在存有‎音乐的文件‎夹内。

设置文档大‎小:252×114像素‎,帧频:24fps‎。

2、第一层名为‎“播放器背景‎”,在该层画一‎个播放器背‎景。

3、新建图层,名为“按钮”,画三个按钮‎:播放(宽:38、高:38、X:126、Y:84)、暂停(宽:38、高:38、X:126、Y:84)、停止(宽:18、高:18、X:34、Y:84);在场景中的‎实例名分别‎为:bf_bt‎n、zt_bt‎n、tz_bt‎n。

4、新建图层,名为“AS”,在帧上写如‎下代码://载入音乐并‎播放var _soun‎d:Sound‎=new Sound‎();var _chan‎n el:Sound‎C hann‎e l=new Sound‎C hann‎e l();var url:Strin‎g="******.mp3";//你电脑上的‎M P3音乐‎文件名,把该文件与‎M P3音乐‎文件放在一‎个文件夹内‎。

var _requ‎e st:URLRe‎q uest‎= new URLRe‎q uest‎(url);_soun‎d.load(_requ‎e st);_chan‎n el=_soun‎d.play();//暂停、播放与停止‎varposit‎i on:intzt_bt‎n.visib‎l e=true;bf_bt‎n.visib‎l e=false‎;zt_bt‎n.addEv‎e ntLi‎s tene‎r(Mouse‎E vent‎.CLICK‎,zt);funct‎i on zt(e:Mouse‎E vent‎):void {zt_bt‎n.visib‎l e=false‎;bf_bt‎n.visib‎l e=true;posit‎i on=_chan‎n el.posit‎i on;_chan‎n el.stop();}bf_bt‎n.addEv‎e ntLi‎s tene‎r(Mouse‎E vent‎.CLICK‎,bf);funct‎i on bf(e:Mouse‎E vent‎):void {zt_bt‎n.visib‎l e=true;bf_bt‎n.visib‎l e=false‎;_chan‎n el=_soun‎d.play(posit‎i on);}tz_bt‎n.addEv‎e ntLi‎s tene‎r(Mouse‎E vent‎.CLICK‎,tz);funct‎i on tz(e:Mouse‎E vent‎):void { zt_bt‎n.visib‎l e=false‎;bf_bt‎n.visib‎l e=true;posit‎i on=0;_chan‎n el.stop();}。

as3.0声音教程

as3.0声音教程

再学AS3(六):音乐播放器1--控制播放进度主要功能:点击进度条音乐从鼠标点击处开始播放。

制作过程:1、新建FLASH CS3文档,保存名为“音乐播放器进度控制”,保存在存有音乐的文件夹内。

设置文档大小:252×114像素,帧频:24fps。

2、第一层名为“播放器背景”,在该层画一个播放器背景。

3、新建图层,名为“播放进度框”,画一个无边框的圆角矩形,边角半径为8,宽202高6,填充颜色为#006600,使其垂直水平于舞台。

4、新建图层,名为“播放进度背景”,画一个无边框的圆角矩形,边角半径为8,宽200高4,从上到下填充#99CC00到#55802B渐变色,使其垂直水平于舞台。

5、新建图层,名为“播放进度条”,画一个无边框的圆角矩形,边角半径为0,宽202高6,从上到下填充#00CCFF到#0066FF渐变色,使其垂直水平于舞台,转换为名为“播放进度条”的影片剪辑。

在场景中的实例名为“bfjdt_mc”。

6、新建图层,名为“播放进度条遮罩”,把“播放进度背景”图层上帧复制并粘贴到“播放进度条遮罩”图层上,右键选择“遮罩层”。

7、新建图层,名为“进度控制”,画一个无边框的圆角矩形,边角半径为0,宽200高6,填充颜色任意,使其垂直水平于舞台,转换为名为“进度控制”的按钮元件,并将“弹起”帧上的图形拖到“点击”帧上。

在场景中的实例名为“jdcz_btn”。

8、新建图层,名为“AS”,在帧上写如下代码://申明变量var _sound:Sound=new Sound();var _channel:SoundChannel=new SoundChannel();var loaded:int;var total:int;var _length:int;var position:int;var percentBuffered:Number;var percentPlayed:Number;//载入MP3并播放var url:String="****.mp3";//你电脑上的MP3音乐文件名,把该文件与MP3音乐文件放在一个文件夹内。

AS3.0脚本声音的调用及简单控制

AS3.0脚本声音的调用及简单控制

AS3.0脚本声音的调用及简单控制一,Sound 类Sound 类允许您在应用程序中使用声音。

使用Sound 类可以创建新的Sound对象、将外部MP3 文件加载到该对象并播放该文件、关闭声音流,以及访问有关声音的数据。

Flash9.0 软件对声音的编辑和调用分为四种:(1)将音乐导入舞台的时间轴上。

(2)从库中调用声音。

(3)网络中调用音乐。

(4)电脑硬盘中调用音乐。

将音乐导入到舞台时间轴控制音乐,想必大家都已非常的熟悉。

从库中、网络中和电脑硬盘中调用音乐既有相似之处,但也有一定得区别。

在这里我们先介绍从库中调用音乐,从电脑硬盘中调用音乐,以及从网络中调用音乐。

1, 从库中调用打来Flash9.0 软件,导入一首音乐到库中,右键链接,链接名:Snd。

在场景的第一帧,打开动作面板,输入语句:varsy:snd=new snd();sy.play();测试影片,音乐即可播放2,从电脑硬盘中调入vardizhi:URLRequest=new URLRequest("jijiao.mp3");varshengyin:Sound=new Sound();shengyin.load(dizhi);shengyin.play();varshengyin:URLRequest=new URLRequest("E:/音乐/回家.mp3");varshengyin:Sound=new Sound(urlMus);snd.play();测试影片,电脑中的音乐也可播放3,从网络中调入音乐varurlMus:URLRequest=new URLRequest(" /0808/在心里从此永远有个你.mp3");varsnd:Sound=new Sound(urlMus);snd.play();测试影片前,点发布设置,把Falsh中的本地回放安全性设置成只访问网络,网络中的音乐就可以播放了。

as3.0声音教程

as3.0声音教程

再学AS3(六):音乐播放器1--控制播放进度主要功能:点击进度条音乐从鼠标点击处开始播放。

制作过程:1、新建FLASH CS3文档,保存名为“音乐播放器进度控制”,保存在存有音乐的文件夹内。

设置文档大小:252×114像素,帧频:24fps。

2、第一层名为“播放器背景”,在该层画一个播放器背景。

3、新建图层,名为“播放进度框”,画一个无边框的圆角矩形,边角半径为8,宽202高6,填充颜色为#006600,使其垂直水平于舞台。

4、新建图层,名为“播放进度背景”,画一个无边框的圆角矩形,边角半径为8,宽200高4,从上到下填充#99CC00到#55802B渐变色,使其垂直水平于舞台。

5、新建图层,名为“播放进度条”,画一个无边框的圆角矩形,边角半径为0,宽202高6,从上到下填充#00CCFF到#0066FF渐变色,使其垂直水平于舞台,转换为名为“播放进度条”的影片剪辑。

在场景中的实例名为“bfjdt_mc”。

6、新建图层,名为“播放进度条遮罩”,把“播放进度背景”图层上帧复制并粘贴到“播放进度条遮罩”图层上,右键选择“遮罩层”。

7、新建图层,名为“进度控制”,画一个无边框的圆角矩形,边角半径为0,宽200高6,填充颜色任意,使其垂直水平于舞台,转换为名为“进度控制”的按钮元件,并将“弹起”帧上的图形拖到“点击”帧上。

在场景中的实例名为“jdcz_btn”。

8、新建图层,名为“AS”,在帧上写如下代码://申明变量var _sound:Sound=new Sound();var _channel:SoundChannel=new SoundChannel();var loaded:int;var total:int;var _length:int;var position:int;var percentBuffered:Number;var percentPlayed:Number;//载入MP3并播放var url:String="****.mp3";//你电脑上的MP3音乐文件名,把该文件与MP3音乐文件放在一个文件夹内。

声音AS的编写与控制

声音AS的编写与控制

声音AS的编写与控制第一篇:声音 AS 的编写与控制声音 AS 的编写与控制一个好的flash作品,缺少了声音,就如同人不会讲话一样。

而flash 中对声音的支持也非常不错,除了可以使用时间轴放置声音文件之外,我们还可以使用AS来更加准确的控制声音!一、FLASH 中如何创建声音控件如果想控制动画中的声音,我们可以使用flash中的sound 对象,通过 sound 命令创建一个新的sound 对象。

之后再用attachSound 命令连接到库里的声音,就可以用来控制动画中的声音了。

常用命令讲解:υnew Sound()此命令用来创建一个新的sound 对象,有了sound 对象我们才能用AS来控制声音。

υattachSound(“库中的声音”)此命令可以使我们创建的声音对象连接到库里的声音,以便进行控制。

υstart([从第几秒开始播放, 循环次数])此命令可以是声音开始播放,里面的两个参数是可选的。

υ stop()停止声音的播放。

υsetVolume(音量级别)此命令可以控制声音的音量高低,音量级别只能是从0-100之间的数字。

二、创建一个声音播放动画,实现开始播放与停止播放声音。

操作步骤:1、新建一个flash文档,按Ctrl+R(文件导入)导入一个声音文件,声音文件可以是 MP3 或 WAV 格式的。

声音文件导入之后,在舞台上是看不见的,必须打开库才能看到我们导入的声音。

2、选中库中的声音文件,单击鼠标右键,在弹出的菜单中选择“链接...”将会弹出一个链接的对话框,请勾选“为动作脚本导出”和“在第一帧导出”选项,并输入一个标识符:mysound(名字可任意写),单击确定。

3、回到主舞台,选中时间轴的第一桢,按F9打开动作面板。

现在我们要创建一个新的声音对象,并且连接到库里的声音。

用来控制声音。

输入以下脚本:music = new Sound();//创建一个名字叫music 的声音对象。

as3教材:as3.0按钮,加载,播放声音,XML等

as3教材:as3.0按钮,加载,播放声音,XML等
#
#
#
最后,我们来创建第三个sprite容器,它包含一个圆形,我们把它添加到sprite1容器内,并给它一个黑色填充,代码如下:
#
var sprite3:Sprite=new Sprite()
#
sprite3.graphics.lineStyle(2,0x000000)
#
sprite3.graphics.beginFill(0x333333)
#
{
#
trace(你点击了Simple Button!)
#
}
绘制文本和超链接文本.txt
2.1.4绘制文本和超链接文本
//在舞台上生成一个文本
*
var myText:TextField=new TextField()
*
myText.text="Click it Out"
*
addChild(myText)
*
var myWebLink:TextField=new TextField()
*
myWebLink.width=300
*
myWebLink.styleSheet=myStyleSheet
*
myWebLink.htmlText="点击后面链接访问我的博客<A HREF=''>Flash脚本学习</A>"
*
addChild(myWebLink)
*
*
另外,我们还可以不用链接到网页窗口,还可以用侦听的方式,例如:
*
myLink.htmlText="Click<A HREF='event:testing'>here</A>"

as3.0的sound类常用技巧

as3.0的sound类常用技巧

as3.0的sound类常用技巧(一)、如何把声音文件作为一个变量加载到swf文件中。

创建一个Sound对象,然后加载具体的声音文件到里面创建一个Sound对象和创建其他对象一样简单,首先我们必须保证相关的类已经被导入。

import flash.media.Sound;然后,直接创建声音对象的一个实例就可以了:_sound = new Sound();当然,现在你还需要为声音对象一个具体的声音,比如一首歌,结下来,我们在例子中提到的所有音乐都用song.mp3来代替,把它保存在.swf文件同一个目录下。

要想加载声音文件到刚刚建立的Sound对象中,还要先创建一个URLRequest对象(在此我们还必须导入相关的类 import .URLRequest,通过字符串表示mp3文件的路径:soundFile = new URLRequest(“song.mp3″);接下来,我们就可以用下面这个语句来实现加载声音文件了:_sound.load(soundFile);package {import flash.display.Sprite;import flash.media.Sound;import .URLRequest;public class LoadSoundExample extends Sprite {private var _sound:Sound;public function LoadSoundExample( ) {_sound = new Sound( );_sound.load(new URLRequest(“song.mp3″));}}}上面的类LoadSoundExample就有了一个_sound属性,你可以在任何时候用它来播放音乐。

说明一下:此时的声音还并没有开始播放。

现在我们只是设置了有一个声音(sound)和它具体是什么样的声音(song.mp3)。

(二)如何播放一个或者停止一个音乐的播放用sound对象的play()方法开始播放声音,用sound对象的close()方法停止音乐的播放。

as3声音类详解

as3声音类详解

一直都对as3的声音架构设计感到困惑,as3为什么要把播放和停止方法分开呢?为什么不能用一个Sound更换载入的声音呢?原来as3对声音的设计也是深思熟虑的。

目的不是为了把问题搞得复杂,而是为了在功能强化的同时做到精简。

并尽可能方便我们使用。

架构图:可以看出,as3中的声音处理是独立的,不再依赖影片剪辑作为声道。

as3使用多个类合作处理声音,功能被细化到对应的类中,使得逻辑更加清晰。

下面对着架构图由下往上详细阐述各个类所但当的任务。

Sound类负责创建、加载、播放声音。

Sound类更像BitmapData扮演的角色,用于描述数据。

而不是控制声音。

使用Sound创建声音有两种创建方式:1.通过库中元件创建和载入库中声音是Sound的子类。

要播放必须创建它们的实例。

2.通过外部加载的声音外部加载声音创建类型是Sound类本身。

为强调一个类描述一个声音数据这种模式,Sound禁止第二次加载外部声音。

加载控制符合open—progress—complete 的标准。

Sound的构造函数为Sound(stream:URLRequest =null, context:SoundLoaderContext = null),创建外部声音时与load方法参数相同。

如果创建库中的声音则不需要任何参数。

方法:load(stream:URLRequest = null, context:SoundLoaderContext =null):void加载声音。

不能使用一个Sound对象加载多个声音。

当有多声音播放时,必须为每个声音创建不同的Sound对象。

play(startTime:Number = 0, loops:int = 0, sndTransform:SoundTransform = null):SoundChannel播放声音。

startTimer为开始播放事件,单位为毫秒。

loops为循环次数,0和1都表示播放一次,如同flash属性面板中的次数设置。

flash多媒体教学设计音量大小控制as3.0

flash多媒体教学设计音量大小控制as3.0

import flash.display.Sprite;import flash.display.StageAlign;import flash.display.StageScaleMode;import flash.events.*;import flash.media.Sound;import flash.media.SoundChannel;import flash.media.SoundTransform;import .URLRequest;import flash.utils.Timer;var url:String = "bigSound.mp3";var soundFactory:Sound;var channel:SoundChannel;var soundPosition:Number;stage.align = StageAlign.TOP_LEFT;stage.scaleMode = StageScaleMode.NO_SCALE;var request:URLRequest = new URLRequest(url);soundFactory = new Sound();soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); soundFactory.load(request);channel = soundFactory.play();stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);function ioErrorHandler(event:Event):void {trace("ioErrorHandler: " + event);}function setPan(pan:Number):void {trace("setPan: " + pan.toFixed(2));var transform:SoundTransform = channel.soundTransform;transform.pan = pan;channel.soundTransform = transform;}function setVolume(volume:Number):void {trace("setVolume: " + volume.toFixed(2));var transform:SoundTransform = channel.soundTransform;transform.volume = volume;channel.soundTransform = transform;}function mouseMoveHandler(event:MouseEvent):void {var halfStage:uint = Math.floor(stage.stageWidth / 2);var xPos:uint = event.stageX;var yPos:uint = event.stageY;var value:Number;var pan:Number;if (xPos > halfStage) {value = xPos / halfStage;pan = value - 1;} else if (xPos < halfStage) {value = (xPos - halfStage) / halfStage;pan = value;} else {pan = 0;}var volume:Number = 1 - (yPos / stage.stageHeight);setVolume(volume);setPan(pan);}function mouseDownHandler(e:MouseEvent){soundPosition = channel.position;channel.stop();}function mouseUpHandler(e:MouseEvent){soundFactory.play(soundPosition);}。

AN软件中基于AS3.0的音频控制研究

AN软件中基于AS3.0的音频控制研究

AN软件中基于AS3.0的音频控制研究作者:汪志敏来源:《电脑知识与技术》2022年第31期摘要:AN(Animate)软件是近几年由Adobe公司新推出的动画制作软件,它以全新的面貌取代了市场上流行多年的Flash软件,在多媒体应用与处理方面有独到的效果。

因此,在介绍AN与AS3.0的基础上,阐明了AN的程序设计模式和程序响应机制,并详细介绍了AN 中的音频控制类型及音频应用,并以典型案例诠释了音频控制应用的设计过程。

关键词:AN;动画制作;AS3.0;音频控制中图分类号:TP37 文献标识码:A文章编号:1009-3044(2022)31-0099-04AN全称Adobe Animate,是Adobe公司在原有Adobe Flash Professional软件的基础上推出的一款专业且强大的2D动画制作软件,提供了非常丰富全面的插图和动画工具,并且增加了HTML5创作工具,为网页开发者提供更适应现代网页应用的音频、图片、视频、动画等创作支持,从而满足不同用户的各种动画创作需求。

AS(ActionScript) 3.0 是继承自Flash的内置脚本语言,提供了可靠的编程模型,支持大型数据集、代码重用和面向对象编程,便于复杂应用程序的设计与实现。

AS3.0使用新型的虚拟机AVM2,实现了性能的優化;升级了应用程序编程接口(API),在面向对象模型和对象控制等方面有所突破;将XML添加为语言的本机数据类型;与早期版本相比,编译器代码库更加先进,并且在遵循 ECMAScript (ECMA 262)标准方面也更加严格,执行优化更深入。

1 AN软件中的程序设计模式AN软件的默认文件类型为.fla类型,即动画文件,此类文件的主要特点是能在用户的相应控件下,利用AN软件的基本动画设计方法,创建出常规的动画效果,包括补间动画、遮罩动画、引导层动画、帧动画等。

但这些动画究其根源,皆属于AN软件产品的初级形式,是简单动画效果。

as3声音的控制

as3声音的控制

as3声音的控制一、加载库中声音导入声音到库---右键---链接---勾选“为ActionScript导出”---类(即名称):cyzy点选第一帧,打开动作面板,写代码:var sy:cyzy = new cyzy() //声明一个声音sy.play() //播放一个声音测试:OK。

二、加载本地声音导入声音到库,文件名:cyzy.mp3在场景第一层第一帧写代码:var dizhi:URLRequest=new URLRequest("cyzy.mp3")var sywj:Sound=new Sound()sywj.load(dizhi)sywj.play()测试:OK。

三、加载远程声音把“加载本地声音”中的本地地址换成网络地址即可。

在场景第一层第一帧写代码:var dizhi:URLRequest=newURLRequest("/uploadfile/2009-4/20094118445463509.mp3")var sywj:Sound=new Sound()sywj.load(dizhi)sywj.play()测试:OK。

四、声音事件打开动作---左栏---打开flash.media包---打开Sound---事件:共7个,常用的有4个,下面一一介绍。

(一)、开始事件所有事件都是一类即一个包(事件包):flash.event---打开他---Event---属性---双击open---得到Event.OPEN.在“四、加载远程声音”代码之后写:sywj.addEventListener(Event.OPEN,kshs); //kshs:开始函数function kshs(event:Event) {trace("开始加载了");}测试:当歌曲开始播放时,在输出面板中出现“开始加载了”字样。

(二)、加载中事件声音从加载到加载完成,中间有一段时间,这段时间就触发了加载中事件。

基于Flash AS3.0声音控制的设计与实现

基于Flash AS3.0声音控制的设计与实现
p l a y
_
关 键词 F l a s h ;声音 控制 ;教 学软件 中图分 类号 :T P 3 1 7 . 4 文献标 识码 :B 文 章编 号 :1 6 7 1 - 4 8 9 X ( 2 0 1 4 ) 2 0 - 0 0 4 0 — 0 3
b n. i a d d E v e n t L i s t e n e r ( Mo u s e E v e n t . C L I C K, c l i c k p l a y )
/ / 此 处为导入 的声音文件
v a t mu s i c : S o u n d C h a n n e l = my mp 3 . p l a y( ) ; mu s i c . s t o p( ) / / S o u n d Mi x e r . s t o p Al l 0 ;
_
1 4 8 9 X . 2 0 1 4 . 2 0 . 0 4 0
基于 F l a s h AS 3 . 0 声音控制 的设计与实现
◆ 张 明 霞
摘 要 使用 F l a s h 进 行教 学 软件 的制 作 在 日常教 学 中越 来越 普 遍 。在 制作 过程 中除 了突 出的动 画 效果 ,使 用声 音 也是 经 常 涉 及 的技 术 。充分 利用 F l a s h A S 3 . 0 的 技术 基础 ,通 过 按钮控 制 声音 ,并 多样 化地将 所用 的声 音文 件与 F l a s h 文档 关 联 。
文件然后打开。
绘制一个静音喇叭的效果图。 第 四步 :设 计 “ 静音喇叭按钮 ”。执行 【 插入 】l【 新
建元件 】 命 令, 类型设置为“ 按钮 ” , 名称为 “ 静音喇叭按钮” 。

基于Flash AS3.0声音控制的设计与实现

基于Flash AS3.0声音控制的设计与实现

基于Flash AS3.0声音控制的设计与实现作者:张明霞来源:《中国教育技术装备》2014年第20期摘要使用Flash进行教学软件的制作在日常教学中越来越普遍。

在制作过程中除了突出的动画效果,使用声音也是经常涉及的技术。

充分利用Flash AS3.0的技术基础,通过按钮控制声音,并多样化地将所用的声音文件与Flash文档关联。

关键词 Flash;声音控制;教学软件中图分类号:TP317.4 文献标识码:B文章编号:1671-489X(2014)20-0040-031 引言在Flash多媒体课件制作过程中,为了增强教学效果,更好地表达教学内容,通常会加入声音文件,而这些声音文件播放时能否自如地控制,则是在设计过程中需要着重考虑的问题。

另外,声音也可以作为课件的一个重要元素,而不仅仅是背景音乐,如音乐课件中的音画同步设计。

2 设计思路及实现过程设计1:外部文件导入方法1)设计思路:通过load方法,装载声音文件,并设计两个按钮,分别控制声音的播放与停止。

2)设计过程。

第一步:制作“发音喇叭”的影片剪辑。

设计一个有动画效果的发音喇叭。

第二步:设计“发音喇叭按钮”。

执行【插入】|【新建元件】命令,类型设置为“按钮”,名称为“发音喇叭按钮”。

在“指针弹起”“指针经过”“按下”“点击”关键帧中插入“发音喇叭”影片剪辑。

第三步:设计“静音喇叭”图形。

执行【插入】|【新建元件】命令,类型设置为“图形”,名称为“静音喇叭”。

绘制一个静音喇叭的效果图。

第四步:设计“静音喇叭按钮”。

执行【插入】|【新建元件】命令,类型设置为“按钮”,名称为“静音喇叭按钮”。

在“指针弹起”“指针经过”“按下”“点击”关键帧中插入“静音喇叭”图形。

第五步:设计“声音控制”影片剪辑。

执行【插入】|【新建元件】命令,类型设置为“影片剪辑”,名称为“声音控制”。

将图层1重命名为“声音控制按钮”,并从库中拖入“发音喇叭按钮”和“静音喇叭按钮”。

as3影片剪辑中时间轴上的声音处理(转载)

as3影片剪辑中时间轴上的声音处理(转载)

as3影片剪辑中时间轴上的声音处理(转载)由于项目架构的关系,会在时间轴上加声音流,跟动画匹配,有时候会做到影片剪辑里。

如果是线性的播放完全没有问题,但是遇到有播放进度条,可以跳帧,问题就出现了:播放头刚到含有声音的影片剪辑,通过调整进度条,主时间轴一下子跳过了这个影片剪辑所在的帧——导致,画面变了,但是之前的影片剪辑里的声音还在播放。

不谈这种方式的其他问题,就这一项,我纠结了好久。

使用侦听,当播放头不在这个影片剪辑的范围时,就将影片剪辑stop,这当然不行,因为跳过了影片剪辑,它的实例名就是null了鉴于在时间轴上的声音,没法使用SoundChannel,soundTransform里又没有关闭声音的方法最后,灵光一闪,解决的居然很轻巧代码创建一个影片剪辑,将需要停止的影片剪辑斌给新剪辑,然后在侦听的时候stop这个新建的影片剪辑,居然成了。

var newMc:MovieClip = oldMc;//时间轴上有声音的影片剪辑//含有声音的影片剪辑在主时间轴的开始帧和结束帧var startFrame:int = 56;var endFrame:int = 1902;addEventListener(Event.ENTERFRAME,isJumpOldMc);function isJumpOldMc(e=null){if(this.currentFrame>endFrame||this.currentFrame<startFra me) newMc.stop();}MovieClip类居然有soundTransform,可以用来管理时间轴上的音量、声道等等var mc:MovieClip = new MovieClip();var stransf:SoundTransform = mc.soundTransform;stransf.volume = 0.6;mc.soundTransform = stransf;-----------------------------------------------------------------------------//建立声音对象。

声控学习

声控学习

声音控制学习先完成以下一个实例生成音乐频谱本例为Flash AS3.0实例教程,在教程中我们将学习运用puteSpectrum() 方法来构建简单的声音可视化程序(即波形图),希望大家注意理解将代码放在时间轴第一帧上即可import flash.display.Graphics;import flash.events.Event;import flash.media.Sound;import flash.media.SoundChannel;import flash.media.SoundMixer;import .URLRequest;const PLOT_HEIGHT:int = 200;const CHANNEL_LENGTH:int = 256;var snd:Sound = new Sound();var req:URLRequest = new URLRequest("月亮之上.mp3");//配置声音源文件地址(此为本地,可配置远程)snd.load(req);var channel:SoundChannel;channel = snd.play();addEventListener(Event.ENTER_FRAME, onEnterFrame);snd.addEventListener(Event.SOUND_COMPLETE, onPlaybackComplete);var bytes:ByteArray = new ByteArray();function onEnterFrame(event:Event):void{puteSpectrum(bytes, false, 0);var g:Graphics = this.graphics;g.clear();g.lineStyle(0, 0x6600CC);g.beginFill(0x6600CC);g.moveTo(0, PLOT_HEIGHT);var n:Number = 0;// left channelfor (var i:int = 0; i < CHANNEL_LENGTH; i++){n = (bytes.readFloat() * PLOT_HEIGHT);g.lineTo(i * 2, PLOT_HEIGHT - n);}g.lineTo(CHANNEL_LENGTH * 2, PLOT_HEIGHT);g.endFill();// right channelg.lineStyle(0, 0xCC0066);g.beginFill(0xCC0066, 0.5);g.moveTo(CHANNEL_LENGTH * 2, PLOT_HEIGHT);for (i = CHANNEL_LENGTH; i > 0; i--){n = (bytes.readFloat() * PLOT_HEIGHT);g.lineTo(i * 2, PLOT_HEIGHT - n);}g.lineTo(0, PLOT_HEIGHT);g.endFill();}function onPlaybackComplete(event:Event){removeEventListener(Event.ENTER_FRAME, onEnterFrame);}我们最常用的是前4个类,现在我们对以上各类的功能及使用一一学习。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[AS3.0编程教学]最全的声音控制方法网上做flash音乐播放器的人不少,这个作品主要是对声音的外部读取,然后保存,然后控制播放,暂停,停止等操作,今天这个作品就是向大家展示这些操作的方法。

1.首先我们新建一个文件,在舞台上摆出下面这些按钮,我们今天对这个声音文件的操纵就如按钮所示:2. 2动手之前我们按下Ctrl+Shift+F12,打开ActionScript设置,将“自动申明舞台对象”打钩取消,我们将每个对象自己用Public声明,这样做的好处是开发时每个元件的属性方便引用和提醒。

3. 3我们新建一个文档类,首先声明舞台上这些按钮,并定义声音变量:testSound,控制变量testChannel,testTrans,testPosition。

publicvarbtnPlay:SimpleButton;publicvarbtnPause:SimpleButton;publicvarbtnStop:SimpleButton;publicvarbtnQuick:SimpleButton;publicvarbtnVocUp:SimpleButton;publicvarbtnVocDown:SimpleButton;publicvarbtnPanUp:SimpleButton;publicvarbtnPanDown:SimpleButton;privatevartestSound:Sound;privatevartestChannel:SoundChannel;privatevartestPosition:Number=0;4. 4首先用下面代码将一首叫做“test.mp3"的音乐加载到舞台。

public function TestSoundMain(){testSound = new Sound();testChannel=new SoundChannel();testTrans = new SoundTransform();testSound.load(new URLRequest("test.mp3"));testSound.addEventListener(PLETE,soundLoadOver); }private function soundLoadOver(e:Event):void{testSound.removeEventListener(PLETE, soundLoadOver);soudLoad = true;}5.播放按钮功能。

控制音乐播放的按钮,单击后音乐开始播放,并记录音乐的SoundChannel属性。

为了防止连击,我们定义一个isSoundPlay布尔变量判断音乐是否在播放中。

//播放按钮功能private function playBtnEvent():void{btnPlay.addEventListener(MouseEvent.CLICK, soundPlay);}private function soundPlay(e:MouseEvent):void{if (isSoundPlay) return;isSoundPlay = true;}6.暂停按钮功能,该按钮让音乐暂停掉,为了能继续播放,我们需要记录下此时testChannel的位置,然后播放按钮单击时可以继续播放//暂停按钮功能private function pauseBtnEvent():void{btnPause.addEventListener(MouseEvent.CLICK, soudPause);}private function soudPause(e:MouseEvent):void{if (!isSoundPlay) return;isSoundPlay = false;testPosition = testChannel.position;testChannel.stop();}7.停止按钮功能,单击后音乐停止播放,记录位置归0.//停止按钮功能private function stopBtnEvent():void{btnStop.addEventListener(MouseEvent.CLICK, soundStop);}private function soundStop(e:MouseEvent):void{isSoundPlay = false;testPosition = 0testChannel.stop();}8.快进声音。

单击该按钮时,我们让声音从当前位置向前播放500毫秒,也就是快进半秒。

//快进按钮功能private function qucikBtnEvent():void{btnQuick.addEventListener(MouseEvent.CLICK, soudQuickPlay);}private function soudQuickPlay(e:MouseEvent):void{if (!isSoundPlay) return;testPosition = testChannel.position;testChannel.stop();testChannel = testSound.play(testPosition + 500);}9.设定声音的音量增加。

控制音量就需要soundTransform对象了,它其实是testChanel的soundTransform属性而已,通过它来控制音量。

//音量增加{btnVocUp.addEventListener(MouseEvent.CLICK, upSoudVoc);}private function upSoudVoc(e:MouseEvent):void{if (!isSoundPlay) return;testTrans = testChannel.soundTransform;varaddedVoc:Number = testTrans.volume> 1?1:(testTrans.volume +0.05);testTrans.volume = addedVoc;testChannel.soundTransform = testTrans;}10.设定声音的音量减小。

//音量减小private function volumeDownBtnEvent():void{btnVocDown.addEventListener(MouseEvent.CLICK, downSoundVoc);}private function downSoundVoc(e:MouseEvent):void{if (!isSoundPlay) return;testTrans = testChannel.soundTransform;vardownVoc:Number = testTrans.volume< 0?0:(testTrans.volume -0.05);testTrans.volume = downVoc;testChannel.soundTransform = testTrans;}11.设定声音的平衡度向右,点击此按钮声音的平衡性会右移,直到变成右声道。

//平衡向右移动private function panRightBtnEvent():void{}private function upSoundPan(e:MouseEvent):void{if (!isSoundPlay) return;testTrans = testChannel.soundTransform;varaddedPan:Number = testTrans.pan> 1?1:(testTrans.pan + 0.05);testTrans.pan = addedPan;testChannel.soundTransform = testTrans;}12.设定声音的平衡度向左,点击此按钮声音的平衡性会左移,直到变成左声道。

//平衡向左移动private function panLeftBtnEvent():void{btnPanDown.addEventListener(MouseEvent.CLICK, downSoundPan);}{if (!isSoundPlay) return;testTrans = testChannel.soundTransform;vardownPan:Number = testTrans.pan< 0?0:(testTrans.pan - 0.05);testTrans.pan = downPan;testChannel.soundTransform = testTrans;}13.最后别忘了所有你定义的函数都要写到音乐加载完成的那个函数里执行,或者构造函数也可以。

就像下面这样子://加载音乐并控制播放private function soundLoadOver(e:Event):void{testSound.removeEventListener(PLETE, soundLoadOver);soudLoad = true;playBtnEvent();pauseBtnEvent();stopBtnEvent();qucikBtnEvent();volumeUpBtnEvent();volumeDownBtnEvent();panRightBtnEvent();panLeftBtnEvent();}14.所有这些一个个代码合并到一起,就是我们主的文档类。

制作完毕!END注意事项∙我没有写声音加载过程和加载错误的监听,如果你的操作没有声音,那一定是你的声音文件有问题,换个文件试试;还有留意下方的报错提示。

∙其实SoundTransform类还有四个读写属性:leftToLeft,leftToRight,rightToLeft,rightToRight,用来设置左右输入在左右扬声器的音量,有兴趣的同学可以细微研究:)。

相关文档
最新文档