2012-08-22 61 views
0

在加載聲音時調用gotoAndStop()方法,聲音結束時觸發軌跡。任何幫助將不勝感激!FLASH AS3 SOUND_COMPLETE在聲音開始時觸發

這裏是我的代碼:

import flash.events.Event; 
import flash.media.Sound; 
import flash.net.URLRequest; 
var sound:Sound = new Sound(); 
var soundReq:URLRequest = new 
URLRequest("testmp3.mp3"); 
sound.load(soundReq); 
sound.addEventListener(Event.COMPLETE, soundPlay); 
function soundPlay(event:Event):void 
{ 
    var soundChannel:SoundChannel; 
    soundChannel = sound.play(); 
    soundChannel.addEventListener(Event.SOUND_COMPLETE, soundComplete); 
} 
function soundComplete(event:Event):void 
{ 
    trace("The sound has finished playing."); 

    gotoAndStop(3); 
} 

回答

3

認爲你是錯了。

Event.COMPLETE聲音文件加載完成時調用。

sound.addEventListener(Event.COMPLETE, soundPlay); 

Event.SOUND_COMPLETE當聲音播放結束時調用。

soundChannel.addEventListener(Event.SOUND_COMPLETE, soundComplete); 

引用下面的代碼。


import flash.events.Event; 
import flash.media.Sound; 
import flash.net.URLRequest; 
var sound:Sound = new Sound(); 
var soundReq:URLRequest = new URLRequest("testmp3.mp3"); 
sound.load(soundReq); 
sound.addEventListener(Event.COMPLETE, soundFileLoaded); 
function soundFileLoaded(event:Event):void 
{ 
    trace("sound file loaded!"); 

    gotoAndStop(3); 
    var soundChannel:SoundChannel; 
    soundChannel = sound.play(); 
    soundChannel.addEventListener(Event.SOUND_COMPLETE, soundPlaybackEnded); 
} 
function soundPlaybackEnded(event:Event):void 
{ 
    trace("sound playback ended"); 
} 
+0

我想我明白你在說什麼,但我想gotoAndStop(3)聲音播放完畢後,未完成加載。也許我錯過了什麼?當聲音加載時,幀發生變化,我不希望它。 –

+0

由於有良好的信息,我標記爲正確,但要解決我需要添加stop()的問題;在Event.Complete方法之後,這會在加載被調用後停止腳本,然後正確調用sound_complete。 –