本文共 4670 字,大约阅读时间需要 15 分钟。
声音
声音对象允许你设置和控制指定MC中的声音。或者你可以通过在产生新的声音对象时,不指定target选项来控制整体MC中的声音。你必须使用构造函数 new Sound() 来产生一个声音对象的实例,才能调用声音对象的成员函数来控制它。 声音对象只能被Flash5的播放器支持。声音对象的成员函数列表:----------------------------------------------------------------------构造函数 说明----------------------------------------------------------------------attachSound(); 绑定参数中指定的声音。getPan (); 返回上次 setPan 函数调用的结果。getTransform(); 返回上次 setTransform 函数调用的结果。getVolume(); 返回上次 setVolume 函数调用的结果。setPan(); 设置声音的左右均衡值。setTransform(); 设置声音的变换。setVolume(); 设置声音的音量值。start(); 开始播放声音,从起始位置开始或者从参数中设置的偏移点开始播放。stop(); 停止播放指定的声音或者停止当前播放的所有声音。----------------------------------------------------------------------------------声音总览声音部分将使用相当大的一部分硬盘和内存空间。因为立体声将使用单声道声音的两倍空间,一般最好使用22-Khz,16-bit的单声道声音。你可以使用SetTransform函数来将单声道声音以立体声的方式来播放,或者将立体声播放成单声道,而且可以对声音加上一些有趣的效果。声音对象的构造函数:语法:new Sound();new Sound(target);参数:target 用于指定生成的声音对象所在和控制的MC。该参数是可选参数。说明:成员函数;作用是产生指定的MC中的新声音对象,该对象将用于控制这个MC中的声音,如果没有指定target参数,则产生的对象将控制所有的时间线上的声音。播放器:flash5或以后版本例子:GlobalSound = new Sound();MovieSound = new Sound(mymovie);Sound.attachSound语法:mySound.attachSound("idName" ) ;参数:idName 声音对象的新实例名。这个名字和元素的Linkage Properties对话框中输入的标识名是相同的。该参数必须包含在""中。说明:成员函数;该函数的作用就在于将idName所指定的声音元素绑定到指定的声音对象中。绑定的声音元素必须位于当前的库中,并且在元素的Linkage Properties对话框中指定输出。大家可以使用Sound.start来开始播放声音。播放器:Flash5或以后版本例子:Sound.getPan语法:mySound.getPan();参数:无说明:成员函数;该函数返回上次 setPan 调用后设置的声音均衡值,数值为在-100~100的整数。这个值将控制当前以及以后播放的声音的左/右平衡。该成员函数与setVolume和setTransform函数相关。播放器:Flash5或以后版本例子:Sound.getTransform语法:mySound.getTransform();参数:无说明:成员函数;返回指定声音对象中上一次 setTransform 调用后的声音变换信息。播放器:Flash5或以后版本例子:Sound.getVolume语法:mySound.getVolume();参数:无说明:成员函数;返回当前音量值,数值在0~100,其中0为静音,100为音量最大值,缺省设置为100。播放器:Flash5或以后版本例子:Sound.setPan语法:mySound.setPan(pan);参数:pan 设置声音左右均衡度的一个整数值,范围在-100~100之间。-100表示只使用左声道,100表示只使用右声道,等于0表示左右声道平均分配。说明:成员函数;决定声音是如何在左右声道(音箱)中播放的。对于单声道声音,pan将影响声音到底是通过哪个音箱(左或者右)播放。该成员函数同setVolume和setTransform函数相关,调用了该函数将删除和重新设置先前的setPan()和setTransform()函数的设置值。播放器:Flash5或以后版本例子:下面例子将使用setVolume 和 setPan 来控制指定目标"u2"中的声音对象:onClipEvent(mouseDown){ //产生一个新的声音对象并且s =new Sound(this);//绑定一个库中的声音元素s.attachSound("u2" ) ;//设置音量值为 50%s.setVolume(50);//将右声道的声音关掉s.setPan(-100);//从声音的第30秒开始播放,并循环播放5次。s.start(30,5);Sound.setTransform语法:mySound.setTransform(soundTransformObject);参数:soundTransformObject 是一个通过调用特殊对象Object的构造函数生成的对象。说明:成员函数;设置声音对象的声音变换信息。该函数和 setVolume 以及 setPan 相关,调用该函数将修改先前 setPan 或 setVolume 所做的设置。该函数是为那些想在声音中添加有趣的效果的专家们所设置。soundtransformobject 参数是一个对象,你通过调用特殊对象Object的构造函数来生成它,它的参数指定了声音是如何分布在左/右声道(音箱)中的。soundtransformobject 对象的参数如下:ll 指定声音左边输入值在左音箱中播放的百分数(-100到100)。lr 指定声音右边输入值在左音箱中播放的百分数(-100到100)。rr 指定声音右边输入值在右音箱中播放的百分数(-100到100)。rl 指定声音左边输入值在右音箱中播放的百分数(-100到100)。输出将按以下的公式给出:左边输出=左边输入*ll+右边输入*lr右边输出=右边输入*rr+左边输入*rl左边输入值以及右边输入值由播放的声音对象的类型(立体声或者单声道)来决定。立体声将声音输入平均划分到左右两个音箱中,具有如下缺省变换设置:ll =100lr =0rr =100rl =0单声道将所有的声音输入在左音箱中播放,缺省变换设置如下:ll =100lr =100rr =0rl =0播放器:Flash5或以后版本例子1:下面的例子将产生一个声音变换对象,将所有左声道和右声道的声音都放到左声道播放。mySoundTransformObject =new ObjectmySoundTransformObject.ll =100mySoundTransformObject.lr =100mySoundTransformObject.rr =0mySoundTransformObject.rl =0上面的代码产生一个声音变换对象,为了将它应用到一个声音对象中,你需要象下面那样通过setTransform将它放入声音对象中:mySound.setTransform(mySoundTransformObject);下面的例子中,可以使用setTransform进行设置,但是不能使用setVolume 或者 setPan来设置,即使是组合起来用。这个代码将左右声道的声音都在左声道中播放:mySund.setTransform(soundTransformObjectLeft);上面的代码中,soundTransformObjectLeft具有如下的参数:11 =1001r =100rr =0rl =0例子2:下面代码将立体声当作单声道声音来播放:setTransform(soundTransformObjectMono);在上面的代码中,soundTransformObjectMono具有如下参数:ll =50lr =50rr =50rl =50例子3:这个代码将左声道的声音对半分开,一半在左声道中播放,另一半加到右声道中播放。setTransform(soundTransformObjectHalf);上面代码中,soundTransformObjectHalf具有如下参数:11 =50lr =0rr =100rl =50Sound.setVolume语法:mySound.setVolume(volume);参数:volume 声音的音量值,一般为0~100。100是全音量,0表示音量为0。缺省设置为100。说明:成员函数;该函数用于设置声音对象的音量值。该函数和 setPan 和 setTransform 函数相关。播放器:Flash5或以后版本参考:setPan的例子。Sound.start语法:mySound.start();mySound.start([secondOffset,loop]);参数:secondOffset 一个可选的参数,允许你在一个指定点上开始播放声音。例如,如果你有一个30秒的声音,希望能在声音的中间开始播放。在secondOffset参数中指定15,声音将不是延时15秒,而是在第15秒处立即开始播放。loop 一个可选的参数,允许你指定声音播放的循环次数。说明:成员函数;开始播放最后一次绑定的声音,如果不指定时间偏移的话,将从头开始播放。或者从secondOffset参数中所指定的偏移点上开始播放。播放器:Flash5或以后版本参考:setPan的例子。Sound.stop语法:mySound.stop();mySound.stop(["idName"]);参数:idName 可选参数,用于指定要停止播放的声音。idName必须包括在双引号""中。说明:成员函数;用于控制声音的停止,没有参数idName为停止当前所有声音的播放,如果指定了idName,则只停止播放指定的声音。播放器:Flash5或以后版本例子:_soundbuftime语法:instancename._soundbuftimesetProperty("movieclip",_soundbuftime,"integer" ) ;参数:integer 声音开始流式播放前的秒数movieclip MC的名字说明:全局属性;确定声音流预缓冲的秒数。缺省值为5秒。播放器:Flash4或以后版本转载地址:http://magxi.baihongyu.com/