Изменение
function audioComplete(Event:Event){
до
function audioComplete(event:Event){
AS чувствителен к регистру. event
- это не то же самое, что Event
. Event
- это название класса. event
- это имя, которое вы назначаете локальной переменной типа Event
Более того, звук загружается во Flash асинхронно. Это означает, что при вызове sound.load()
Flash Player начнет загрузку звука в новом потоке и продолжит следующие строки кода во время загрузки звука. Событие Event.COMPLETE
запускается, когда этот звук полностью загружен, NOT , когда воспроизведение звука закончено.
, чтобы вызвать функцию после завершения воспроизведения звука, используйте setTimeout
var mySound:Sound = new Sound();
mySound.load(new URLRequest("audio/filename.mp3"));
mySound.addEventListener(Event.COMPLETE, soundLoaded);
function soundLoaded(e:Event):void {
mySound.play();
setTimeout(audioComplete, mySound.length);
}
function audioComplete(){
trace("done!");
}