Flash AS3 Audio Player, кажется, просто перестает работать - PullRequest
0 голосов
/ 17 ноября 2011

Пока мой код останавливает звук, но после его остановки звук больше не работает.Я не вижу сообщений об ошибках.

Как будто слушатель событий больше не слушает ...

stop();
var soundClip:Sound = new Sound();
var sndChannel:SoundChannel = new SoundChannel();
var soundClipCompleted = false;
var isPlaying = false;
soundClip.load(new URLRequest("tune.mp3"));
soundClip.addEventListener(Event.COMPLETE,onComplete,false,0,true);
function onComplete(evt:Event):void {
    sndChannel=soundClip.play();
    soundClipCompleted=true;
    isPlaying = true;
    Action_BtnPlay.gotoAndStop(2);
}
Action_BtnPlay.addEventListener(MouseEvent.MOUSE_UP, playBtn);
function playBtn (evt:MouseEvent):void {
    if(isPlaying && soundClipCompleted){
        sndChannel.stop();
        Action_BtnPlay.gotoAndStop(1);
    }else{
        sndChannel = soundClip.play();
        Action_BtnPlay.gotoAndStop(2);
    }
}

Ответы [ 2 ]

0 голосов
/ 17 ноября 2011
stop();
var soundClip:Sound = new Sound();
var sndChannel:SoundChannel = new SoundChannel();
var soundClipCompleted = false;
var isPlaying = false;
soundClip.load(new URLRequest("tune.mp3"));
soundClip.addEventListener(Event.COMPLETE,onComplete,false,0,true);
function onComplete(evt:Event):void {
sndChannel=soundClip.play();
soundClipCompleted=true;
isPlaying = true;
Action_BtnPlay.gotoAndStop(2);
}
Action_BtnPlay.addEventListener(MouseEvent.MOUSE_UP, playBtn);
function playBtn (evt:MouseEvent):void {
if(isPlaying && soundClipCompleted){
    sndChannel.stop();
    Action_BtnPlay.gotoAndStop(1);
    isPlaying=false;
    soundClipCompleted=false;
}else{
    sndChannel = soundClip.play();
    Action_BtnPlay.gotoAndStop(2);
  }
 }

Вы должны установить переменные isPlaying и soundClipCompleted в ложь.

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

Вы устанавливаете isPlaying и soundClipCompleted на true, когда Sound впервые отправляет событие COMPLETE, поэтому после этого оператор if в вашем обработчике playBtn всегда оценивается как true и останавливает звук,

...