flash声音控制代码

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

flash声音控制代码

我们在用as来控制声音之前,一定要先使用构造函数new Sound创建声音对象。只有先创建声音对象以后,FLASH才可以调用声音对象的方法。还有,FLASH的action是区分大小写的,

所以在写action的时候,一定要注意。

mySound=new Sound();//新建一个声音对象,对象的名称是mySound。

声音对象的控制方法:

播放与停止:

mySound.start();开始播放声音。

如想在声音的某一秒中播放,可输入mySound.start(2);即:从声音的第二秒开始播放。(这里的单位只能是秒)

mySound.stop();停止声音的播放。

stopAllSounds();停止播放所有声音。

音量控制:(范围从0-100)

mySound.getVolume();获取当前的音量大小。

mySound.setVolume();设置当前音乐的音量。

左/右均衡:(范围从-100到100)

mySound.getPan();获取左右均衡的值。

mySound.setPan();设置左右均衡的值。

声道音量:

mySound.getTransform();获取左右声音的音量。

mySound.setTransform();设置左右声道的音量。

这是一个比较特殊的参数,在设置setTransform前,要先为它新建一个对像才可以。

读取声音:

mySound.loadSound();从外部载入声音。

mySound.attachSound();从库中加载声音。

mySound.getBytesLoaded();获取声音载入的字节数。

mySound.getBytesTotal();获取声音的总字节数。

声音对象的属性:

mySound.duration;声音的长度。(单位为毫秒。即:1000毫秒=1秒)

mySound.position;声音已播放的毫秒数。(单位为毫秒)

声音对象的函数:

mySound.onLoad;声音载入时调用。

mySound.onComplete;声音播放完成时调用。

-----------------------------------------------------------------------------------------------------------------------------------------

简单实例:

用as来控制,就需要用as来读取声音。用as读取声音有两种方式:attachSound 和loadSound。

attachSound是从FLASH的库中挷定一个声音。这个声音需要我们先导入一个声音文件。方法:文件→

导入到库(选择一个声音文件,确定即可)→打开库面板(窗口→库)→右键选择我们刚才导入的声音文件→

在右键菜单中找到链接→选中为动作脚本导出,在标识符上为这个声音对象起一个名称如"music"。

然后用attachSound("music");来读取声音。

loadSound则是从外部读取声音文件,方法:loadSound("music");从外部读取文件时只允许载入MP3文件。

其它格式是不能够读取的。

记得文件名和标识符要加上引号,否则FLASH会将它当做一个变量处理。

了解了as读取声音的两种方法以后,我们只需要用start();方法将这个声音播放即可。

将声音文件导入到库,打开库面板,右键单击我们刚导入的声音文件,并选择链接,勾选为动作脚本导出和

在第一帧导出。在上面的标识符上输入music

这里为第一帧导出做一下解释。在FLASH中,库中的内容并不是全部导出到SWF 中的。只有在主场景,

或者其它场景中用到了库中的文件,那么在导出SWF时,才会将它导出。

在声音的第一帧输入代码:

s=new Sound;

s.attachSound("music");

s.start();

下面,把s.attachSound("music");这句话改为

s.loadSound("music.mp3");//"music.mp3即与flash文件

同一目录下的音乐文件",此时播放的为与flash文件同一目录下的音乐文件“music.mp3”

上面是最简单的播放声音的代码了。下面我们再在上面的基础上,添加设置音量的代码。在s.start();前

添加s.setVolume(100);现在测试影片,应该和刚才没有区别。因为FLASH的音量在默认时是设置为100的。

现在把100改为20,音量是不是明显的变小了?

现在再试一下在下面添加“s.setPan(100);”这个是设置声音的左右均衡值的。默认设置为0。

即:左右两边的音量是一样的。如果设置为100,那么右边耳机的音量就为我们设置的volume的音量,

而左面就没有声音,如果为-100,那么情况相反。

载入多个声音时需要注意:

当我们通过attachSound()方法挷定一声音的时候,可以同时挷定多个声音,就是说当我们挷定music1,播放,

再挷定music2,播放的时候,就会出现两个声音同时播放的现象。你可以输入以下代码试验一下。

//在输入以下代码的时候,注意你的库中是否有music1和music2标识的两个声音。

s=newSound();

s.attachSound("sound1");

s.start();

s.attachSound("sound2");

s.start();

这时你应该能听到两个声音在同时播放,很杂乱。解决的方法,就是当我们在挷定第二个声音之前用s.stop();

相关文档
最新文档