Parar todas as ações antes de "transição para fora" da página. IE:
private function onBeforeTransitionOut(event:GaiaEvent):void
{
video.stop(); //timer.stop(); // removeEventListener, etc.......
}
Deixe-me saber se isso ajuda:)
ok..vou tentar e lhe digo...
caso queira dar uma olhada ai esta o código inteiro...
package com.mardu.pages
{
import com.gaiaframework.templates.AbstractPage;
import com.gaiaframework.events.*;
import com.gaiaframework.debug.*;
import com.gaiaframework.api.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import com.greensock.TweenLite;
import com.greensock.layout.*;
import gs.*;
import com.greensock.TweenMax;
public class MakingPage extends AbstractPage
{
private var video:Video;
public var backVideo:MovieClip;
public var makingbg:MovieClip;
public var TXT_Time:TextField;
public var BTN_Play:MovieClip;
private var isPlaying:Boolean;
public function MakingPage()
{
super();
alpha = 0;
}
override public function transitionIn():void
{
super.transitionIn();
Gaia.api.getPage("index/nav").assets.sound.fadeTo(0,1);
init();
initVideo();
var ls:LiquidStage = new LiquidStage(this.stage,1280,720,800,600);
var area:LiquidArea = new LiquidArea(this,0,0,1280,720);
area.attach(makingbg, ScaleMode.PROPORTIONAL_OUTSIDE, AlignMode.LEFT, AlignMode.TOP);
//ls.update();
stage.addEventListener(Event.RESIZE, onResize);
TweenLite.to(this, 0.3, {alpha:1, onComplete:transitionInComplete});
}
override public function transitionOut():void
{
super.transitionOut();
INetStream(assets.video).removeEventListener(NetStatusEvent.NET_STATUS, onNetStreamStatus);
assets.video.fadeTo(0, 1, soundFadeComplete);
Gaia.api.getPage("index/nav").assets.sound.fadeTo(1,1);
TweenLite.to(this, 0.3, {alpha:0, onComplete:transitionOutComplete});
}
private function init():void
{
BTN_Play.addEventListener(MouseEvent.CLICK, onClickPlay);
BTN_Play.buttonMode = true;
//
addEventListener(Event.ENTER_FRAME, onUpdateFields, false, 0, true);
}
private function initVideo():void
{
video = new Video(596,333);
video.x = (stage.stageWidth - video.width) / 2;
video.y = (stage.stageHeight - video.height) / 2;
video.attachNetStream(INetStream(assets.video).ns);
addChild(video);
INetStream(assets.video).volume = 1;
INetStream(assets.video).play();
INetStream(assets.video).addEventListener(NetStatusEvent.NET_STATUS, onNetStreamStatus, false, 0, true);
backVideo.x = (stage.stageWidth - backVideo.width) / 2;
backVideo.y = (stage.stageHeight - backVideo.height) / 2;
BTN_Play.addEventListener(MouseEvent.CLICK, onClickPlay);
BTN_Play.buttonMode = true;
}
private function onNetStreamStatus(event:NetStatusEvent):void
{
if (event.info.code == "NetStream.Play.Stop")
{
INetStream(assets.video).play(0);
}
}
private function onClickPlay(event:Event):void
{
// pause / play toggle
isPlaying = ! isPlaying;
if (! isPlaying)
{
INetStream(assets.video).resume();
BTN_Play.gotoAndStop(1);
}
else
{
INetStream(assets.video).pause();
BTN_Play.gotoAndStop(2);
}
}
private function onUpdateFields(event:Event):void
{
var ns:INetStream = INetStream(assets.video);
TXT_Time.text = getTime(ns.time) + " / " + getTime(ns.duration);
}
private function soundFadeComplete():void
{
removeEventListener(Event.ENTER_FRAME, onUpdateFields);
}
private function getTime(secs:Number):String
{
if (isNaN(secs))
{
return "0:00";
}
secs = Math.floor(secs);
var m:String = String(Math.floor(secs / 60));
var s:String = String(secs % 60);
if (s.length == 1)
{
s = "0" + s;
}
return m + ":" + s;
}
private function onResize(event:Event = null):void
{
video.x = (stage.stageWidth - video.width) / 2;
video.y = (stage.stageHeight - video.height) / 2;
backVideo.x = (stage.stageWidth - backVideo.width) / 2;
backVideo.y = (stage.stageHeight - backVideo.height) / 2;
}
}
}