分享
 
 
 

Flash中关于声音的常用命令介绍

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

先做个简单的了解,FLASH中经常用到的声音的控制命令以及声音的属性有哪些:

1.new Sound()//创建一个新的声音对象;

2.mysound.attachSound()//加载库里的声音

3.mysound.start()//播放声音;

4.mysound.getVolume()//读取声音的音量

5.mysound.setVolume()//设置音量

6.mysound.getPan()//读取声音的平衡值

7.mysound.setPan()//设置声音的平衡值

8.mysound.position//声音播放的当前位置

9.mysound.duration//声音的总长度;

下面,我们用一个具体的例子来学习这些命令以及属性的用法:

各元件的实例名参看图1

为方便学习,我们结合一个具体的例子来实践一下代码的编写.读者朋友可以先到这里下载源文件,下面我将对这个例子中牵涉到的AS做些解释,以帮助大家理解:

点击这里下载源文件[url=http://www.flash8.net/bbs/viewFile.asp?Boardid=1&ID=157173][/url]

1.首先看action层的代码:

mysound=new Sound();//创建一个新的声音对象,名称为mysound;

mysound.attachSound("sound");//复制库里的声音给mysound对象,库里的目标声音输出标示符为sound,关于输出标示符的添加方法,

参看图2;

mysound.start(0,10);//开始播放声音,从第0秒开始,重复10遍

_root.total=int(mysound.duration/1000/60)+"分"+""+(int(mysound.duration/1000)-int(mysound.duration/1000/60)*60)+"秒"//这里是在total文本框内显示音乐的总厂,具体的原理参看注意点3;

_root.onEnterFrame=function(){//每播放一帧都触发下面的函数;

mysound.setVolume((a._x-30));//设置音量,30为音量线的最左端坐标,音量线总长为100,a._x表示滑块的X坐标,该坐标减去初始位置的坐标30就得到当前应有的音量;

mysound.setPan((b._x-80)*2);//设置当前声音的平衡值,相对于平衡线的中间位置坐标(80)进行调节,范围(-100,100),-100为左声道出声,100为右声道,0为左右平衡;

txt1=mysound.getVolume();//读取当前音量并在txt1文本框内显示

txt2=mysound.getPan();//读取当前平衡值并在txt2文本框内显示

}

k=0;//初始化k变量,其作用将在下面说明;

_root.bb="正在播放";//让bb文本框显示正在播放字样;

2.控制音量的滑块上的代码:

on(press){

startDrag(a,true,30,147,130,147);//按下按钮不放,则开始拖动滑块a,拖动范围左上右下依次为:30,147,130,147。这些数值的获得方法,你可以在源文件相应元件的属性面板里看到;

}

on(release){

stopDrag();//松下按钮则停止拖动

}

3.控制平衡的滑块上的代码:

on(press){

startDrag(b,true,30,179,130,179);//按下按钮不放,则开始拖动滑块a,拖动范围左上右下依次为:30,179,130,179。

}

on(release){

stopDrag();//松下按钮则停止拖动

}

4.暂停按钮的代码:

on(release){

k=k+1;//k是用来统计当前点击暂停按钮次数的变量;

if(k%2==1){//奇偶判断;

mysound.stop();//若为奇数则停止音乐;

_root.b=int(mysound.position/1000);//记录下停止时播放的位置,赋值给变量b;

_root.bb="停在第"+_root.b+"秒";//在bb文本框内显示当前停止的位置;

}else{

mysound.start(_root.b);//从上一次停止的位置开始继续播放;

_root.bb="正在播放";

}

}

5.停止按钮上的代码:

on(release){

mysound.stop();//停止音乐

_root.bb="已停止";//显示音乐停止;

_root.b=0;//点击次数清零;以便下次统计;

_root.k=1//这点的解释参看注意点1;

}

6.播放按钮的代码:

on(release){

mysound.stop()//为了避免当前正在播放音乐的音乐和再次开始的音乐重复,所以先停止当前音乐;

mysound.start();//开始播放新的音乐

_root.bb="正在播放";

k=0//关于这里为什么重新给k赋值,请参看最后的注意点2;

}

注意:

1.把这里的k赋值为1,是为了让音乐停止后,清除前面对暂停按钮的操作引起的k值的变化,并且可以让下一步点暂停按钮的时候,让其执行mysound.start(_root.b),从而具有播放按钮的功能,因为刚刚执行了停止命令。再执行暂停命令是没有意义的!

2.把k重新赋值为0,是为了清除前面对暂停按钮的操作引起的k值的变化.读者朋友可以去除这句,然后测试,你会发现点了播放按钮后再点暂停按钮,会有两个声音混杂在一起,这个BUG的出现,正是因为k值在作怪,具体的讲,当你进行了若干操作,把k的值变为奇数后,在点播放按钮,此时音乐开始播放,然后你再点下暂停按钮,这时候的k值为偶数,那么会执行mysound.start(_root.b),也就是再开始播放一个音乐,从而导致两个声音混杂的现象;到这里,基本上结束了这些常用命令的介绍,希望对各位读者有帮助。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有