Queira comentar aqui mi problema para ver que estoy haciendo mal
Para empezar os pongo en situación:
Estoy haciendo un player en AS3 que me cargue dentro como si fuese un marco distintos swf (MovieClips o AVM1). Ya que en AS3 no puedo cargar videos AVM1, lo que tengo hecho es un puente (por asi decirlo) en AS2 que es el que se encarga de cargar los swf de los tipos.
De esta forma el funcionamiento queda asi, mi player en AS3 carga el SWF puente (AS2) y luego mediante LocalConection lo invoco para que realice la diversas funciones que necesito (play, stop, load, etc). Os pongo el codigo del puente
Código:
import mx.events.EventDispatcher; EventDispatcher.initialize(MovieClip.prototype); var AVM_lc:LocalConnection = new LocalConnection(); var marco:MovieClip = createEmptyMovieClip("marco",0 ); var mcLoader:MovieClipLoader = new MovieClipLoader(); mcLoader.addListener(this); //mcLoader.loadClip("./archivo.swf", marco); function onLoadInit(mc:MovieClip) { trace("play... "); } function onLoadComplete(mc:MovieClip) { trace("cargado!"); } function onLoadProgress(mc:MovieClip) { trace("cargando: " + Math.round((mc.getBytesLoaded()/mc.getBytesTotal())*100) + " %"); } function onEnterFrame(mc:MovieClip) { if (marco._currentframe == marco._totalframes){ marco.stop(); this.onEnterFrame = null; } } AVM_lc.loadPeli = function(url:String){ marco.unloadMovie(); mcLoader.loadClip(url, marco); } AVM_lc.stopPeli = function(){ marco.stop(); trace("stop"); } AVM_lc.playPeli = function(){ marco.play(); } AVM_lc.connect("player2bridge"); AVM_lc.client = this;
El puente funciona perfectamente, cuando lo instancio y luego lo uso desde el player mediante LocalConection. El problema es que si lo hago así, el listener que hay para controlar los eventos onLoadProgress, onLoadComplete y onlLoadInit deja de funcionar y no me traza nada.
En cambio si descomento la linea en rojo para hacer una prueba independiente solo con el puente AS2 se me carga la pelicula sin problemas también pero esta vez si que me funciona el listener y si que me traza
Lo que quiero conseguir cn este puente en AS2 es a parte de poder cargar los MovieClip y los AVM1 indiferentemente, es poder utilizarlo como preloader ya que controlo la carga en memoria del .swf cargado y como he dicho, si lo pruebo directamente cargando un video funcionan los listener, pero si lo invoco desde otro lado los listeners no se disparan
Muchas gracias y un saludo