0

我正在尝试制作一个包含多个影片剪辑(“儿童”)的影片剪辑(例如“根”)的 Flash 影片。每个孩子都有一个 mp3 播放器。现在,我设置了一个儿童mp3 播放按钮并编写了以下操作:

 movieClip_2.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndPlayFromFrame);
 function fl_ClickToGoToAndPlayFromFrame(event:MouseEvent):void{
    gotoAndPlay(2);
 }

直到这里它工作得很好。现在我想设置,每次播放按钮点击任何孩子时,根都会停止移动,直到mp3文件完成播放。

实现它的最佳方法是什么?

4

1 回答 1

0

当mp3 播放完毕时,SoundChannel该类发送事件。flash.events.Event.SOUND_COMPLETE所以,孩子们可以重新调度这个事件,而根可以听它并做出你想要的。

更新

此方法的实现取决于 mp3 播放器的实现。例如:

//In a child
var sound:Sound = new Sound();   
var soundChannel:SoundChannel;
var request:URLRequest = new URLRequest("my_sound.mp3");

// Sound events listeners

soundChannel.addEventListener(Event.SOUND_COMPLETE, soundChannel_soundCompleteHandler);
sound.load(request);
soundChannel = sound.play();

soundChannel_soundCompleteHandler(event:Event):void {
    dispatchEvent(event);
}

//Somewhere in the root
mp3Child.addEventListener(Event.SOUND_COMPLETE, mp3Child_soundCompleteHandler);
于 2012-10-27T18:36:00.857 回答