Patrick Ploeger
Patrick Ploeger

Reputation: 3

replay button in AS3

I am making an e-learning module with multiple frames.

I want to add a refreshbutton, so that a user can reload a frame (with a movieclip), so that he or she can watch it again. I use one layer where I place all my actions.

I tried, the following, but that doesn't work

refresh_btn.addEventListener(MouseEvent.MOUSE_DOWN, goToCurrentPageHandler) ;
function goToCurrentPageHandler (event:MouseEvent) : void
{
    SoundMixer.stopAll();
    gotoAndPlay();

I also tried:

/*refresh_button*/  
refresh_btn.addEventListener(MouseEvent.MOUSE_DOWN, goToCurrentPageHandler) ;
function goToCurrentPageHandler (event:MouseEvent) : void
{
    SoundMixer.stopAll();
    gotoAndPlay(currentFrame);

But when I press the refresh button it starts playing the next frame.

Can someone please help me.

Thanks!

Upvotes: 0

Views: 2843

Answers (2)

Seyon Seyon
Seyon Seyon

Reputation: 567

without refreshing you can try simply insert stop button function inside play buttons function then no need to refresh you should first stop sound chaneel sc inorder to close sound s . then disable and enable play and stop buttons by //object..mouseEnabled = false; , //object..mouseEnabled = true;

import flash.media.SoundChannel;
import flash.events.MouseEvent;
import flash.events.Event;

btn_play.addEventListener(MouseEvent.CLICK, PlayStream);




var sc: SoundChannel = new SoundChannel();
var s: Sound = new Sound(new URLRequest("folder/song .mp3"));

function PlayStream(event: MouseEvent): void {

sc = s.play();
btn_play.mouseEnabled = false;
btn_stop.mouseEnabled = true;

      btn_stop.addEventListener(MouseEvent.CLICK, StopStream);

          function StopStream(event: MouseEvent): void {
          SoundMixer.stopAll();
          sc.stop();
          s.close();
          btn_play.mouseEnabled = true;
          btn_stop.mouseEnabled = false;
          }

}

stop();

Upvotes: 1

Krasimir
Krasimir

Reputation: 13529

gotoAndPlay(currentFrame);

actually plays the next one because you are saying "get the current position and start playing from there". Your sound is in a movie clip called *frame_1*. So you should use:

frame_1.gotoAndPlay(1);

I.e. your code should look like that:

/*refresh_button*/  
refresh_btn.addEventListener(MouseEvent.MOUSE_DOWN, goToCurrentPageHandler) ;
function goToCurrentPageHandler (event:MouseEvent) : void
{
    SoundMixer.stopAll();
    frame_1.gotoAndPlay(1);
}

Upvotes: 0

Related Questions