Contrôler un SWF externe en AS3

acfrdjc - 13 déc. 2012 à 14:23
 acfrdjc - 13 déc. 2012 à 16:40
J'aimerai contrôler l'animation d'un SWF externe (pause, lecture, etc.), mais j'ai une erreur lorsque je le converti en movieClip.

var monClip:MovieClip; // On déclare le movieClip qui contiendra le SWF chargé
var chargeur:Loader = new Loader(); // On déclare/instancie le loader.
chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler); // On écoute le chargement du loader
chargeur.load(new URLRequest("video.swf" )); // On charge notre SWF
function onCompleteHandler(loadEvent:Event)
{
monClip = MovieClip(loadEvent.currentTarget.content); // On associe monClip au contenu chargé, en le typant MovieClip     
addChild(monClip);//On l'ajoute au stage     
monClip.stop(); // je le manipule comme je veux.
} 


J'ai le message d'erreur :
TypeError: Error #1034: Echec de la contrainte de type : conversion de flash.display::AVM1Movie@2865d161 en flash.display.MovieClip impossible.
at test_fla::MainTimeline/onCompleteHandler()

2 réponses

var monClip:MovieClip = new MovieClip(); //construction
var chargeur:Loader = new Loader(); //Création de l'outil de chargement
var fichierSWF:URLRequest= new URLRequest("video.swf"); //URL du SWF à charger
chargeur.load(fichierSWF); //Chargement du SWF depuis l'URL spécifié dans swfFile
monClip.addChild(chargeur); //affichage du SWF chargé dans le movieClip conteneur

chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, OnFichierCharge);

function OnFichierCharge(loadEvent:Event)
{
this.addChild(monClip); //Lorsque le SWF est chargé, j'affiche
}

Là j'arrive à lire la vidéo, mais je n'arrive pas à faire de pause ou de play
0
semble lié au format du SWF, fonctionne dans un cas et pas avec d'autres :

ça fonctionne avec un SWF externe fait avec CS3 mais pas avec d'autres SWF

<code>
var monClip:MovieClip = new MovieClip(); //construction
var chargeur:Loader = new Loader(); //Création de l'outil de chargement
chargeur.load(new URLRequest("AnimCS3.swf")); //Chargement du SWF depuis l'URL spécifié dans swfFile
monClip.addChild(chargeur); //affichage du SWF chargé dans le movieClip conteneur

chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, OnFichierCharge);
function OnFichierCharge(loadEvent:Event){
monClip = MovieClip(loadEvent.currentTarget.content);
currentSWF.addChild(monClip); //Lorsque le SWF est chargé, j'affiche dans le clip "currentSWF"
}
//bouton Pause : 
btnPause.addEventListener(MouseEvent.MOUSE_DOWN, pauseVideo); 
function pauseVideo(event:MouseEvent):void { 
monClip.stop();
trace("Pause Video");
}
//bouton Play : 
btnPlay.addEventListener(MouseEvent.MOUSE_DOWN, playVideo); 
function playVideo(event:MouseEvent):void { 
monClip.play();
trace("Lecture Video");
}

</code>
0
Rejoignez-nous