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

2008-04-02 10:51:35来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  先做个简单的了解,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.首先看action层的代码:

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

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


  


  


  
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),也就是再开始播放一个音乐,从而导致两个声音混杂的现象;到这里,基本上结束了这些常用命令的介绍



标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: attachMovie外部swf中的元素

下一篇: 让视频文档在Flash8中安家