Событие библиотеки AS3 Standing Wave завершено, а не стрельба - PullRequest
0 голосов
/ 06 ноября 2011

Я использую библиотеку AS3 StandingWave и пытаюсь запустить событие «ЗАВЕРШЕНИЕ» для аудиоплеера.У меня есть код ниже и событие, похоже, никогда не срабатывает.Я не получаю трассировку, не кнопка повторно включена.

var player:AudioPlayer = new AudioPlayer();
play_btn.addEventListener(MouseEvent.CLICK,playSinewave);

function playSinewave(e:Event):void{
var sinewave:IAudioSource = new SineSource(new AudioDescriptor(),5,440,0.2);
play_btn.enabled = false;
player.addEventListener(Event.COMPLETE,doComplete);
player.play(sinewave);
}

function doComplete(e:Event):void{
trace("COMPLETE")
play_btn.enabled = true;
}

1 Ответ

0 голосов
/ 09 ноября 2011

Проблема в том, что player.play (sinewave);не вызывает Event.COMPLETE.Я думаю, что это может вызвать SampleDataEvent.SAMPLE_DATA.Event.COMPLETE запускается при загрузке источника звука.Следующий бит кода должен помочь:

import flash.media.Sound;
import flash.media.SoundChannel;
import flash.events.Event;
import flash.net.URLRequest;
import flash.events.MouseEvent;

//Load the song.
var song:Sound = new Sound();
var songChannel:SoundChannel = new SoundChannel();

song.addEventListener(Event.COMPLETE, hdSongLoaded);
song.load(new URLRequest("assets/songs/VMBach.mp3"));

//Buttons
buttons.onBTN.addEventListener(MouseEvent.CLICK, hdSoundOn);
buttons.offBTN.addEventListener(MouseEvent.CLICK, hdSoundOff);
buttons.skipBTN.addEventListener(MouseEvent.CLICK, hdSkip);

//Handlers.
function hdSongLoaded(e:Event) {
    //e.currentTarget.play();
    songChannel = song.play();
}

function hdSoundOn(e:MouseEvent) {
    songChannel = song.play();
}

function hdSoundOff(e:MouseEvent) {
    songChannel.stop();
}

function hdSkip(e:MouseEvent) {
    //removeChild(onBTN);
    //removeChild(offBTN);
    removeChild(buttons);
    songChannel.stop();
    gotoAndStop(2);
}

stop();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...