2、利用获取多个起始点var sjd:Array=[0,14200,41800,69920,85682];
3、点击相应按钮获取中某元素var zjl:Sprite=event.target as Sprite;
scz=s.play(sjd[getChildIndex(zjl)-1]);
[代码]
///////////////////直接将下面代码复制到第帧上即可////////////////////
//载入外部音乐
var s:Sound= Sound( URLRequest("http://58.56.37.223/download/D10Down/%CA%FD%D1%BC%D7%D3.mp3"));
//声音控制
var scz:SoundChannel= SoundChannel;
//时间点
var sjd:Array=[0,14200,41800,69920,85682];
//段落名称
var dlmc:Array=["第段","第 2段","第 3段","第 4段"];
//声音结束点
var sjsd:=0;
//进度显示
s.addEventListener(ProgressEvent.PROGRESS,jzjd);
var jdtxt:TextField= TextField;
function jzjd(event:ProgressEvent):void {
var bfb:Number=event.sLoaded/event.sTotal;
jdtxt.autoSize=TextFieldAutoSize.CENTER;
jdtxt.text="声音正在加载——已经加载 :"+Math.round(bfb*100)+"%";
addChild(jdtxt);
jdtxt.y=100;
jdtxt.x=100;
}
//加载完成才能控制
s.addEventListener(Event.COMPLETE,jzwc);
function jzwc(event:Event):void {
//移除进度文本和加载侦听器
removeChild(jdtxt);
s.removeEventListener(ProgressEvent.PROGRESS,jzjd);
for (var k:=0; k<dlmc.length; k) {
//创建动态文本显示段落名称
var txt:TextField= TextField;
txt.autoSize=TextFieldAutoSize.CENTER;
txt.text=dlmc[k];
txt.x=50*k;
txt.mouseEnabled=false;
//创建精灵作按钮
var b:Sprite= Sprite;
addChild(b);
b.buttonMode=true;
b.addChild(txt);
b.x=b.y=100;
b.addEventListener(MouseEvent.CLICK,dj);
}
}
//鼠标点击按钮时执行
function dj(event:MouseEvent):void {
//声音停止
scz.stop;
//精灵中子精灵
var zjl:Sprite=event.target as Sprite;
//声音播放(从子精灵所在位置得到对应时间点)
scz=s.play(sjd[getChildIndex(zjl)-1]);
//得到声音结束点
sjsd=sjd[getChildIndex(zjl)];
//当然要不断更新才知道声音播放头位置
stage.addEventListener(Event.ENTER_FRAME,gx);
function gx(e:Event):void {
//如果播放头位置不小于声音结束点时声音就停止且移除侦听事件
(scz.position>=sjsd) {
scz.stop;
stage.removeEventListener(Event.ENTER_FRAME,gx);
}
}
}
最新评论