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()
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
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");
}