Por alguna razón, Adobe no implementó un método para detener la descarga de un archivo FLV cuando queremos eliminar un componente FLVPlayback. Puedes crear un reproductor FLV dinámicamente y luego destruirlo, pero si ha comenzado la reproducción el fichero FLV continuará descargándose hasta que termine.

La clase FLVPlayback implementa el método closeVideoPlayer( índice ) que permite detener la descarga del archivo FLV que esté descargando, pero está limitado a cuando abres múltiples vídeos en un solo componente. La limitación consiste en no dejarte eliminar el la conexión de video con la que creaste el reproductor.

// Creamos el reproductor y lo ponemos a reproducir
var video:FlvPlayback = new FlvPlayback();
video.play( "video.flv" );

// Ahora intentamos cerrar el reproductor
video.stop();
video.closeVideoPlayer(0); // Debería detener la descarga, pero nos lanza un error
video = null; // Para que el Garbage Collector lo elimine de memoria

Si en el ejemplo omitimos video.closeVideoPlayer(0), el reproductor se elimina, pero el vídeo continúa descargándose y consumiendo ancho de banda.

Esto puede ser un problema cuando haces uso de varias instancias de este componente, y debido a las circunstancias no puedes usar uno solo. Cada una de ellas llamará a la descarga de un FLV, y puede darse el caso de estar descargando varios FLV a la vez, con el consiguiente consumo de ancho de banda.

La solución, acceder a la primera instancia VideoPlayer y detenerlo uno mismo:

// Ahora intentamos cerrar el reproductor
video.stop();
video.getVideoPlayer(0).close(); // Ahora sí, detiene la descarga del archivo FLV
video = null; // Para que el Garbage Collector lo elimine de memoria

Algo muy sencillo, pero que ya me ha hecho perder algo de tiempo buscándolo :P .  Aquí lo dejo como apunte.

Una precarga (muy) sencilla para Flash (AS3).  Suponiendo que el primer fotograma está vacío, podemos incluir el siguiente código en la linea de tiempo principal:

stop(); root.loaderInfo.addEventListener(Event.COMPLETE, function(e:Event) { play(); });

Esto comenzará a reproducir el flash en cuanto termine de cargar. Además, podemos aprovechar el primer fotograma para poner un mensaje ‘cargando… ‘, que será lo que se muestre mientras se completa la carga.

De Autocad a Cinema 4D, 1ª parte

Diciembre 20th, 2007

Entre otras muchas cosas, profesionalmente me dedico a construir infografías para inmobiliarias.

El trabajo que os presento es un bloque de oficinas que me han pasado recientemente. Para realizarlo he empleado Autocad para leer los planos, Flash para ajustar los trazados a lo que necesitaba, y Cinema 4D que será el encargado del modelado 3d y render. Esta primera parte ha sido 2 horas y media de trabajo aproximadamente (podía haber tardado menos, pero no era el día idóneo).

(Actualice a la última versión de Flash Player.)

En la próxima parte se añadirán texturas, los elementos de la fachada, carpintería y el tejado en detalle.

Actualizado: Este proyecto en concreto no ha seguido adelante. Se intentará con el siguiente que venga.