快速业务通道

初识AS3:任意播放整首音乐中的某一段

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-07

[知识点]
1、声音播放起始点由s.play(参数)中参数决定
2、利用数组获取多个起始点var sjd:Array=[0,14200,41800,69920,85682];
3、点击相应按钮获取数组中的某元素var zjl:Sprite=event.target as Sprite;
scz=s.play(sjd[getChildIndex(zjl)-1]);

[效果] [代码]
///////////////////直接将下面的代码复制到第一帧上即可//////////////////// //载入外部音乐
vars:Sound=newSound(newURLRequest("http://58.56.37.223/download/D10Down/%CA%FD%D1%BC%D7%D3.mp3"));
//声音控制
varscz:SoundChannel=newSoundChannel();
//时间点
varsjd:Array=[0,14200,41800,69920,85682];
//段落名称
vardlmc:Array=["第一段","第二段","第三段","第四段"];
//声音结束点
varsjsd:int=0;
//进度显示
s.addEventListener(ProgressEvent.PROGRESS,jzjd);
varjdtxt:TextField=newTextField();
functionjzjd(event:ProgressEvent):void{
varbfb:Number=event.bytesLoaded/event.bytesTotal;
jdtxt.autoSize=TextFieldAutoSize.CENTER;
jdtxt.text="声音正在加载——已经加载:"+Math.round(bfb*100)+"%";
addChild(jdtxt);
jdtxt.y=100;
jdtxt.x=100;
}
//加载完成才能控制
s.addEventListener(Event.COMPLETE,jzwc);
functionjzwc(event:Event):void{
//移除进度文本和加载侦听器
removeChild(jdtxt);
s.removeEventListener(ProgressEvent.PROGRESS,jzjd);
for(vark:int=0;k<dlmc.length;k++){
//创建动态文本显示段落名称
vartxt:TextField=newTextField();
txt.autoSize=TextFieldAutoSize.CENTER;
txt.text=dlmc[k];
txt.x=50*k;
txt.mouseEnabled=false;
//创建精灵作按钮
varb:Sprite=newSprite();
addChild(b);
b.buttonMode=true;
b.addChild(txt);
b.x=b.y=100;
b.addEventListener(MouseEvent.CLICK,dj);
}
}
//鼠标点击按钮时执行
functiondj(event:MouseEvent):void{
//声音停止
scz.stop();
//精灵中的子精灵
varzjl:Sprite=event.targetasSprite;
//声音播放(从子精灵所在的位置得到对应时间点)
scz=s.play(sjd[getChildIndex(zjl)-1]);
//得到声音结束点
sjsd=sjd[getChildIndex(zjl)];
//当然要不断更新才知道声音播放头的位置
stage.addEventListener(Event.ENTER_FRAME,gx);
functiongx(e:Event):void{
//如果播放头的位置不小于声音结束点时声音就停止且移除侦听事件
if(scz.position>=sjsd){
scz.stop();
stage.removeEventListener(Event.ENTER_FRAME,gx);
}
}
} 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号