Manual Técnico A continuación se explica en forma general como es el funcionamiento del reproductor de video. Conexión de red Para reproducir archivos ‘.flv’ en flash, es necesario crear una variable tipo NetConnection (se abre una conexión), la cual contendrá un NetStream (hilo de descarga, como si fuera un canal de TV), el cual es el que almacena el video en sí. Esta conexión es necesaria para poder usar los métodos de esta clase, como el play(), stop(), tiempo de buffer, entre otros. Metadatos Por medio del objeto NetStream, se puede acceder a los metadatos del video, los metadatos son información del video, se debe tener en cuenta que esta información se debe agregar al video si éste no la tiene (para ello hay programas dedicados). Entre los metadatos se tiene: Ancho del video (en píxeles) Alto del video (en píxeles) Duración Taza de frames Estos parámetros son de solo lectura, y con ellos se puede controlar variables en el reproductor, por ejemplo, el tamaño del video, para a partir de su tamaño original ajustarlo al tamaño del reproductor, o ajustarlo en pantalla completa; con la duración podemos mostrar el tiempo total de reproducción y el tiempo actual de reproducción. Estado de reproducción Otro método del NetStream es onStatus, con el cual se puede conocer algunos estados de la reproducción actual. Con este método se puede saber si el video esta reproduciéndose, o está detenido, si el buffer de datos está lleno, vacío, si el video que se pidió reproducir si existe, o si el punto que se quiere reproducir es un punto válido de reproducción (por ejemplo cuando se quiere buscar un punto del video el cual no se ha cargado aún). Con estos estados se controla entonces cuando se finaliza el video, cuando mostrar el clip de que se están cargando los datos, y analizar cuando se requiere buscar partes no cargadas del video. Barra de controles Entre los controles del video, se tiene el botón de play y pausa, los cuales reproducen o detienen el video en el tiempo de reproducción actual que se lleve, llamando al método pause() del objeto NetStream. Los botones de pantalla completa y salir de pantalla completa, como su nombre lo indica, esa es la función que ellos tienen, además, se agrega un ‘listener’ a ese estado de la ventana, para así controlar el tamaño, la posición del video y de la misma barra de controles. Los botones de sonido y desplazamiento de sonido, controlan el volume del sonido del video, esto llamando al método setVolume de un objeto Sound que se debe haber creado previamente en el archivo. El tiempo de reproducción que se muestra en la barra de controles, se consigue usando la propiedad de duración del video, la cual se obtiene en los metadatos, como se menciono anteriormente en dicho tema. Simplemente se convierte esa duración total, la cual es dada en segundos, a horas totales, minutos totales, o segundos totales de duración, según el caso que se requiera. En la barra de controles se tiene una barra rectangular, la cual muestra que cantidad del video se ha cargado actualmente y la cual tiene un circulo que equivale al punto donde se está reproduciendo actualmente el video. Para ir llenando progresivamente la barra de carga, se hace uso de los métodos bytesLoaded y bytesTotal del objeto NetStream, obteniendo un porcentaje entre ellos, para así ese porcentaje reflejarlo en la barra de carga. Igual, para el circulo que indica donde va la reproducción, se hace us o del método time del objeto NetStream, el cual devuelve el tiempo actual de reproducción en segundos, con ese tiempo se saca un porcentaje respecto al tiempo total, y con ese porcentaje se ubica la posición X del círculo en la barra. Cuando se hace clic en el círculo de dicha barra y se mueve para ubicar un punto del video, se hace uso del método seek() del objeto NetStream, el cual recibe como parámetro el tiempo en segundos en el cual se desea ubicar el video. Búsqueda de un punto aún no cargado del video Cuando se quiere reproducir un punto del video el cual no se ha cargado aún, se debe volver a cargar el video con el método play() del objeto NetStream, pero esta vez se le envía como parámetro el punto en el cual se desea empezar a cargar el video, que es una posición que se calcula relativa al punto seleccionado en la barra de desplazamiento, para que funcione bien, el servidor en donde está almacenado el video debe reconocer lo que se le envía en el parámetro del método play(), por ejemplo, si se usa PHP, debe haber un script que analice dicho parámetro y le envíe los nuevos datos de inicio al reproductor.