AS3播放/暂停和停止按钮几乎可以工作,但有一个小问题

时间:2015-09-18 14:31:20

标签: actionscript-3 flash web

我有一个带声音的240帧动画。声音文件在我的库中。

我有2个按钮。播放/暂停,然后停止。

视频自动播放,您可以暂停和恢复任何问题。你甚至可以点击停止(清除视频,但你可以再次点击播放,它从头开始)。

我的问题是,如果你让动画一直播放到最后,播放按钮不会在开始时重新开始。我最近有一行代码或2更改,在它返回之前,但会有2个音频实例。我觉得自己如此接近,其他人可能会指出这个问题,我相信它可能会非常小。这是我的代码。

第1帧行动:

import flash.events.MouseEvent;

var audioPosition:Number = 0; /* Pause Point */

var isJamming:Boolean; //true or false checking whether sound is playing

var snd0:Sound = new snd();
var soundChannel:SoundChannel = new SoundChannel();
PlayBtn.addEventListener(MouseEvent.CLICK, clickPlayPause);

soundChannel = snd0.play();
isJamming = true;



function clickPlayPause(evt:MouseEvent) {   


if(currentFrame == 1){
    audioPosition = 0.00;
gotoAndStop(1);
flash.media.SoundMixer.stopAll();
    play();
        soundChannel = snd0.play(audioPosition);
        isJamming = true;
} else if (isJamming) {
        stop();
        audioPosition = soundChannel.position;
        soundChannel.stop();
        isJamming = false;
    }   else {
        play();
        soundChannel = snd0.play(audioPosition);
        isJamming = true;
    }       
}



CloseBtn.addEventListener(MouseEvent.CLICK, close);
    function close(Event:MouseEvent):void {
    audioPosition = 0.00;
    gotoAndStop(1);
    flash.media.SoundMixer.stopAll();
}

第240帧行动:

audioPosition = 0.00;
gotoAndStop(1);
flash.media.SoundMixer.stopAll();

2 个答案:

答案 0 :(得分:1)

你在代码中有2个snd0.play()。删除第一个。 (在PlayBtn.addEventListener(MouseEvent.CLICK, clickPlayPause);行之后)

答案 1 :(得分:0)

我解决了我的问题。 Csomakk帮助了一个部分,然后我发现我需要将当前帧更改为最后一帧,而不是帧1.我还将closeBtn和Last帧脚本更改为gotoAndStop(241);而不是停在1。

现在一切正常!