文章搜索:
打开支付宝首页搜索“510617664”,即可领红包
  首页--> 计算机--> FLASH教程
 
控制声音的回放
http://www.xxqqss.com 学习轻松网 点击量:4908
 
一、基础知识:
  1、开始声音播放:
  MySoudn.start([参数1:开始播放的位置,秒],[参数2:循环次数])。参数1可以控制声音从任意位置开始播放。
  2、两个属性:
  MySoudn.position  ,返回播放头当前位置,毫秒
  MySoudn.duration  ,返回声音总长度,毫秒
  3、停止播放:
  MySoudn.stop();
  注意,停止后播放头也停在停止时的位置,直到下一个start()才移动。所以可以读取position并记住,以便下次接着播放。
  4、从任意位置停止:
  MySoudn.stop()是没有参数的,但是可以不断检测MySoudn.position,到达指定位置时,运行 MySoudn.stop()就可以停在任意位置。
  5、循环播放:
    有了1的任意位置起播,又有了4的任意位置停止,就可以实现任意段落的循环播放。

  二、制作实验:
  1、在舞台上放一个进度条剪辑:mcb ,把声音附加到它,并用其宽度来显示播放进度。
  2、在mcb下面,放一个矩形条剪辑:mca,显示进度条总长度。
  3、建个动态文本,实例名:sTxt,显示声音长度和播放时间。
  4、放三个按钮:播放,暂停,停止。实例名见下面AS。
  5、导入一个声音入 库,在库里设置:链接——为AS导出——ID为:Sou
  6、第一帧写如下的代码:
var Sou:Sound=new Sound(mcb);//创建声音对象,并关联给剪辑mcb,如果要分别控制多个声音,必虽指定不同的MC。
Sou.attachSound("Sou");//从库里添加声音
var SouT:Number=0;//播放头
//播放按钮
SouPlay.onRelease=function(){
Sou.start(SouT/1000);//从指定位置开始播放,注意单位是 秒
mcb.onEnterFrame = function() {
  SouT=Sou.position;//保存播放头位置,,注意单位是 毫秒
     SouDir(SouT);
    }
}
//暂停按钮
SouPause.onRelease=function(){
if(SouT!=0){
     Sou.stop();
     delete mcb.onEnterFrame;
}
}
//停止按钮
SouStop.onRelease=function(){
SouT=0;
Sou.stop();
SouDir(SouT);
delete mcb.onEnterFrame;
}
//播放完毕
Sou.onSoundComplete = function() {
SouT=0;
SouDir(SouT);
delete mcb.onEnterFrame;
}
SouDir(Sou.position);
//有关声音信息显示的函数,传入参数:当前声音位置
function SouDir(t):Void{
//显示播放时间:当前位置/总时间
_root.sTxt.text=t+"/"+Sou.duration;
//进度条
_root.mcb._width=t/Sou.duration*_root.mca._width;
}
 

来源:flash8


打印】 【关闭
免责声明 :本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有任何异议,请发送fiyeadwyv@163.com
最热门点击排行
 
版权所有 2006-2021:学习轻松网 Copyright http://www.xxqqss.com All rights reserved 浙ICP备14013707号-1
广告联系电话: 13958357030 联系QQ:9792414 工具条下载