Resolví el Misterio!!!! Ni tu, solisarg, ni yo, teníamos razón…
Al parecer, es todo un problema de compatibilidad de browsers… por no decir…
OPERA. Y al parecer es un Bug bastante groso…
Y he aquí la prueba: (y luego la demostración)
Como te había dicho antes, parecía que con el MP3 Player, cuando escogía otra canción, no se entre cortaba. Y a vos te pareció que esto era por que si hacía la carga en el mismo objeto con loadSound, allí si dejaba de descargarse el mp3 anterior. Pero que esto no ocurría con loadMovie.
Solisarg escribió:
“No lo detiene, sino que en un mismo objeto Sound hace un loadSound distinto, esto al contrario de lo que ocurre con loadMovie si detiene la descarga anterior.”
Bueno, resulta que no, resulta que TODO método que remplacé un archivo por otro, ya sea en el mismo clip con loadMovie, o en el mismo nivel con loadMovieNum, o con MovieClipLoader, tanto haciéndolo sobre un MC, o creando uno con createEmptyMovieClip…. Resulta que SIEMPRE que se remplace a uno que se esté cargando, ESTE SE DETIENE.
Y EL PROBLEMA ERA CON EL MALDITO OPERA, QUE ES EL ÚNICO BROWSER QUE NO LO HACE.

Como lo descubrí: de repente navegando por una de estas interminables páginas de myspace que parecen nunca terminar… se empieza a colgar el sonido. Y yo pensé que era por la maldita página infinita. Entonces abrí el “mp3player” en otra ventana y cerré la pagina que media como 200 metros de lago….
Y noto que si escuchaba un mp3 unos pocos segundos y pasaba al siguiente, cuando llegaba al 5to o al 6to se cortaba el sonido…
Allí nomás, borre el cache del opera, cargué la pagina que estoy armando, y veo que también pasaba con mi reproductor….
Y se hizo la luz Cargo mi página y también ese reproductor de myspace en FireFox, en Internet Explorer 7, luego en el 6, incluso en el Safari para windows… Y TODO ANDABA PERFECTO: Podía ir tema tras tema en mi reproductor como en el de myspace, escuchar unos pocos segundos, y nunca se colgaba…
Pero recordando que me habías dicho que esto ocurría con eventos de sonido, y no podía ocurrir con un LoadMovie, allí nomás hice varias pruebas con:
loadMovie
loadMovieNum
MovieClipLoader (con un MC como holder)
MovieClipLoader (con un MC creado con createEmptyMovieClip, como holder)
Y la pu** madre que los re parió!!! Todos, absolutamente con todos los métodos, cuando tocaba un archivo dejaba de descargar el anterior. En el único lugar donde no pasaba era en el maldito OPERA (que tanto amaba

)
En el OPERA, con cualquier método, siempre descarga los archivos, no importa cuantas veces lo remplaces con otro.
Acá te dejo para que lo pruebes (y cualquier otro interesado también, en especial los que usan otros exploradores), el ejemplo mas “oldie” que armé, con loadMovieNum, para que compruebes vos también que se detiene la descarga de archivos. Lo armé así nomás, no le puse preloader ni nada, son 3 botones, que llaman a 3 swf respectivamente. Los primeros 2 swf, tienen una foto (pesadas, de mas de 1mb, y achicada dentro de flash, para poder comprobar bien el asunto) y el TERCER botón, carga un swf que es un degradado vectorial que pesa menos de 1kb.
A los 3 llamados les puse “nocache” para que cada vez que toques el botón vuelva a cargar el swf de nuevo y puedas volver a comprobarlo.
O sea, ¿que puedes comprobar?: En todos los exploradores que nombre menos en Opera: - Presiona alguno de los 2 primeros botones y luego el tercero: la imagen roja vectorial. Y veras como el MODEM o ROUTER ya no siguen descargando datos. ( Si estas bajando algo con el emule o haciendo otra cosa, obviamente no podrás notarlo).
En Opera: - Presiona alguno de los 2 primeros botones y luego el tercero: la imagen roja vectorial. Y veras como el MODEM o ROUTER SIGUEN TRANSFIRIENDO DATOS.
-
Y acá lo mas divertido, presiona 40 o 50 veces sobre el botón 1 o 2, o en ambos, y luego presiona la imagen vectorial. JAJAJAJAJA PASARAN HORAS EN QUE APAREZCA LA MALDITA IMAGEN DE 1KB EN OPERA. Es mas, a mi a veces me sale el famoso “Un script parece estar… desea cancelar…”
Si haces lo mismo en cualquier otro explorador, si presionas todas las veces que quieras el botón, verás que esto no pasa. La imagen vectorial siempre la carga al instante. Y deja de transferir los datos de los otros archivos.
Aquí el link de prueba:
www.nfa-producciones.com/carga(Recuerden que los 2 primeros 2 swf son de 1mb y no tienen preloader, así que en vez de mirar la pantalla miren las “lucecitas” de su Modem o Router).
También pensé que podía ser la versión del player de flash, aunque es raro por que la comparte con FireFox, y demás exploradores menos IE. Y en todos los demás no pasaba esto.
Entonces también realice pruebas con las siguientes versiones del player de flash:
Para IE: 9.0.45.0
9.0.47.0
9.0.124.0
Para FireFox, Opera, etc: 9.0.16.0
9.0.28.0 (por si alguno le interesa saber, creo que a partir de esta versión, es en la que funciona el fullScreen)
9.0.45.0
9.0.47.0
9.0.115.0
9.0.124.0
Y en todas las pruebas lo mismo:
OPERA: Descarga los archivos hasta el final, no importa el método que uses para remplazarlo.
Demás exploradores (al menos los que mencione antes): Dejan de transferir datos. Y no se “cuelga” cuando tocas 50 veces el boton para cargar los 2 primeros swf.
La explicación del cuelgue en Opera es simple: Para poder realizar la prueba, como ya dije, tiene la función “nocache” para que siempre cargue el archivo nuevamente y no lo tome del cache.
Pero claro, como en opera no se “interrumpe” la descarga, cada vez que lo presionamos, el browser le pide al servidor:
foto1.swf?nocaching=40154
foto1.swf?nocaching=12565
foto1.swf?nocaching=34566
foto1.swf?nocaching=53542
foto1.swf?nocaching=43449
foto1.swf?nocaching=23541
Y TODOS estos archivos son descargados, más allá de que solamente se cargará y visualizará el último. (y mas allá de que es el mismo archivo, con una variable en el nombre).
Esto en los demás exploradores funciona así:
Toco el botón “FOTO 1”, empieza a descargar:
foto1.swf?nocaching=34984
Vuelvo a tocar el botón “FOTO 1”,
Se detiene la descarga de foto1.swf?nocaching=34984
Y comienza a cargar:
foto1.swf?nocaching=59328
Entonces solo baja UN archivo. Presionen en IE el botón FOTO 1, las veces que quieran, luego toquen “VECTOR” y verán que el swf vectorial se carga en seguida.
Presionen “FOTO 1” en OPERA unas 50 veces y después me cuentan si alguna vez les apareció la imagen, o les dejo de transferir datos…
Ojo, quizá es un problema de mi versión de OPERA. Tampoco tengo tanto tiempo para hacer tantas pruebas. Así que si a alguien no le sucede este “bug” en OPERA, por favor, díganmelo…
A mi ya me parecía raro, muchas cosas en flash me andaban medio mal en el opera…
Y mas raro aun me parecía la idea de que no se pueda detener la descarga de un archivo swf, al cargar otro en el mismo nivel, o MC, etc etc…. Como me decías vos Jorge…
Así que bueno che, te agradezco especialmente a vos, por que tus “pautas” fueron las que me llevaron a descubrir que estaba pasando “realmente”. (Comillas muy bien puestas por que tranquilamente puedo estar equivocada).
Ahora ya se que
se puede detener la descarga de un archivo, pero aun me falta ver la forma en que programo que cuando el buffer se este quedando corto, remplace la sección que se este cargando con alguna otra vacía (total esto no se ve), y luego de unos segundos que siga cargando la sección, ya con mas buffer para el mp3. Obviamente no le puedo poner “nocache” a las secciones por que sino, en el caso de detenerse, cuando vuelva a cargar, lo hará desde el principio, y no desde donde estaba.
Ya estoy a UN paso de resolver mi problema.
Gracias de nuevo, jorge.
Pd: Si a otros les sucede lo mismo con el opera, ¿Deberíamos reportar el bug en algún lado?
Besos, Vicky!