As3 probleme comment retirer swf import contenent un flv charger dynamiquement
nackdawa
Messages postés66Date d'inscriptionmercredi 7 septembre 2005StatutMembreDernière intervention28 mai 2010
-
19 janv. 2010 à 14:50
crackter
Messages postés401Date d'inscriptionmercredi 12 novembre 2003StatutMembreDernière intervention31 janvier 2010
-
20 janv. 2010 à 11:30
Bonjour a tous,
Mon problème est le suivant.
Je charge un swf dans un autre swf avec la méthode "new Loarder". Ici tous ce passe bien, mon swf se charge, la video s'affiche et joue.
Mais l'orque que je retire le swf chargé ou que je remplace par un autre swf, le son de la première vidéo fonctionne toujours alors que le troisièmement swf est bien affiché à la place de la vidéo qui elle n'est plus là.
la vidéo dans le premier swf charger, est charger dynamiquement avec netStream.
crackter
Messages postés401Date d'inscriptionmercredi 12 novembre 2003StatutMembreDernière intervention31 janvier 2010 20 janv. 2010 à 00:35
Salut,
sans aucun doute un problème de garbage collector, qui doit normalement effacer la mémoire non/plus utilisée. Il faut donc que tu t'assures de bien effacer le loader précédent avant de recharger quelque chose par dessus, le netStream ne s'effaçant pas tout seul.
(cela peut venir d'autres choses mais c'est la première chose qui me vient à l'esprit)
nackdawa
Messages postés66Date d'inscriptionmercredi 7 septembre 2005StatutMembreDernière intervention28 mai 2010 20 janv. 2010 à 10:19
Salut crackter,
"garbage collector" je ne connaissais pas ce terme, je ne suis pas dev mais designer donc pas tres carré pour ce qui est de la structure du code.
Oui effectivement je n'effaçais pas le loader, je croyais qu'en faisant "removeChild", "RemoveChildAt", ou "remoseNumChildren" ça retirait mon clip mais non ça le retire juste de l'affichage et pas de la memoire...
Donc j'ai trouves quelques solutions avec :
-"unLoad()" et "unLoadAndStop()", mais bon vu que mon code n'est pas carré par moment celà ne function pas.
Ma solution ultime de bidouillage de designer. J'utilise la code suivant sur la premiere frame de mon swf charger :
this.addEventListener(Event.REMOVED_FROM_STAGE, spriteRemovedFromStage);
function spriteRemovedFromStage(event:Event):void{
video.stop();
// ici du code pour tout arrêter
}
ça premet de tout arrêter lorsque que le swf est viré de la scène.
Et voilà la bidouille.
Merci de t'être intéressé à mon probleme.
bonne journée à toi