2009-08-17 6 views
0

Voici le scénario:Décharger vidéo intégré en flash AS3 (style de saut intro)

  1. J'ai créé un external.swf qui contient une vidéo intégrée (FLV) dans la ligne de temps.
  2. j'ai créé un autre fichier swf (de player.swf) qui charge le external.swf en utilisant ceci:

    demande var: URLRequest = new URLRequest ("external.swf"); var loader: Loader = nouveau Loader(); loader.load (requête); videoContainer_mc.addChild (loader);

  3. i inséré un skipIntro_btn en utilisant player.swf:

    skipIntro_btn.addEventListener (MouseEvent.MOUSE_DOWN, mouseDownSkip); function mouseDownSkip (événement: MouseEvent): void { videoContainer_mc.removeChild (loader); gotoAndPlay ("ending"); }

il semble que le skipIntro_btn décharge le external.swf, mais je peux encore entendre le son de la vidéo intégrée. Qu'est-ce que je fais mal? Existe-t-il d'autres moyens d'implémenter l'effet d'intro skip sur les vidéos intégrées?

Répondre

1

Eh bien, si vous pouvez simplement supprimer le swf après le clic, comme ceci:

var request:URLRequest = new URLRequest("external.swf"); 
var loader:Loader = new Loader(); 
loader.load(request); videoContainer_mc.addChild(loader); 

skipIntro_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownSkip); 
function mouseDownSkip(event:MouseEvent):void { 
    videoContainer_mc.removeChild(loader); 
    loader.unloadAndStop(true); 
    gotoAndPlay("ending"); 
} 

Si vous ne pouvez pas simplement supprimer le fichier SWF, alors vous aurez besoin d'arrêter le MovieClip qui contient la vidéo à l'intérieur du swf chargé.

+0

grâce ruyadorno: le code que vous avez donné fait une erreur de compilation: 1061: Appel à une méthode unloadAndStop éventuellement définie par une référence avec flash.display de type statique: chargeur. –

+0

OK ... je l'ai .... unloadAndStop() fonctionne pour flashplayer 10 ... merci pour l'aide ... maintenant tout ce que j'ai à faire est de faire les clients utilisent flash player 10 ... LOL –

+0

LOL, cela devrait être bon pour tout le monde ... mais comme je l'ai déjà dit, vous pouvez appeler l'arrêt sur le MovieClip qui contient la vidéo dessus, alors tout devrait s'arrêter puisque l'objet vidéo est lié à la timeline. Une autre astuce est l'utilisation de movieclip.soundTransform = new SoundTransform (0); pour arrêter les sons du MovieClip qui contient la vidéo. – ruyadorno