jueves, 2 de abril de 2009

Incrustar FLV en flash

En estos días estuve algo ocupado en Flash cargando archivos FLV, ya se que es tarea muy sencilla ya que desde Flash 8 este trae su propio Reproductor les dejo aquí un tutoríal mas sencillo.

Pero claro la vida como programador no deja nada a la sencillez ya que sabrán que al hacerlo con este método perdemos la posibilidad de administrar o personalizar ciertas opciones que aveces son necesarias y como es un objeto predefinido de Flash no hay mas forma que crear nuestro propio reproductor personalizado.

El problema radicara no en reproducir el FLV si no lograr saber cuando este finalizara; para así cargar otro frame, u otro FLV o alguna animación diferente en Flash.

1) Abrimos Flash y apretamos CTRL + L, para abrir la librería o biblioteca.

2) En la pestaña superior derecha de la ventana le damos a Nuevo Vídeo.



3) Nos pedirá un nombre para el nuevo objeto le pondremos "mi_video", luego veremos como este objeto aparecerá en la biblioteca.


5) Colocamos el objeto en área de trabajo(Recuerden instanciarlo también con el nombre "mi_video"), luego en el mismo fotograma que ocupa el objeto colocaremos el siguiente código.

stop();
var conexion:NetConnection = new NetConnection();
conexion.connect(null);
var stream:NetStream = new NetStream(conexion);
mi_video.attachVideo(stream);
stream.play("CocaColaLaleydelfutbol.flv");

Explicamos:

Se crea la instancia “conexión” de l a clase NetConnection que proporciona los medios para reproducir archivos FLV de flujo desde una unidad local o una dirección HTTP.

Con conexion.connect(null); abre una conexión local mediante la que puede reproducir archivos de vídeo (FLV) desde una dirección HTTP o desde el sistema de archivos local.

Creamos una instancia “stream” de la Clase NetStream que proporciona métodos y propiedades para reproducir archivos de Flash Video (FLV) del sistema de archivos local o de una dirección http

Ahora asociamos la instancia stream a nuestro objeto mi_video del escenario

Y terminamos con el método play() del objeto NetStream dándole la ruta de nuestro FLV


6)Como sabemos cuando Terminara la reproduccion del FLV?. Colocamos después este código.

stream.onStatus = function(infoObject) {
if (infoObject.code == "NetStream.Play.Stop") {
gotoAndPlay(2);
}
}

Explicamos:

Muy sencillo ahora que sabes para que funciona cada cosa, con la Clase NetStream comparamos cuando se detiene mediante NetStream.Play.Stop y se compara con infoObject.code que devuelve la información del objeto.

Por ultimo hacemos la acción que mas necesitemos para este ejemplo un gotoAndPlay(2); para movernos al siguiente fotograma.

Pruebalo y si tienes alguna duda puedes dejar tu comentario suerte.

No hay comentarios.: