As3 probleme comment retirer swf import contenent un flv charger dynamiquement

nackdawa Messages postés 66 Date d'inscription mercredi 7 septembre 2005 Statut Membre Dernière intervention 28 mai 2010 - 19 janv. 2010 à 14:50
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 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.

Si quelqu'un a une solution, je suis preneur. :)

Merci d'avance

3 réponses

crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 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)
0
nackdawa Messages postés 66 Date d'inscription mercredi 7 septembre 2005 Statut Membre Dernière intervention 28 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
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
20 janv. 2010 à 11:30
bonne suite
0
Rejoignez-nous