Reproducción de múltiples archivos de vídeo

Se puede reproducir una secuencia de archivos de vídeo en una instancia de FLVPlayback; para ello, simplemente hay que cargar un nuevo URL en la propiedad source cuando finalice la reproducción del anterior archivo de vídeo. Por ejemplo, el siguiente código ActionScript detecta el evento complete , que se produce cuando finaliza la reproducción de un archivo de vídeo. Cuando se produce este evento, el código establece el nombre y la ubicación del nuevo archivo vídeo en la propiedad source y llama al método play() para reproducir el nuevo vídeo.

import fl.video.*; 
my_FLVPlybk.source = "http://www.helpexamples.com/flash/video/clouds.flv"; 
my_FLVPlybk.addEventListener(VideoEvent.COMPLETE, complete_listener); 
// listen for complete event; play new FLV 
function complete_listener(eventObject:VideoEvent):void { 
    if (my_FLVPlybk.source == "http://www.helpexamples.com/flash/video/clouds.flv") { 
        my_FLVPlybk.play("http://www.helpexamples.com/flash/video/water.flv"); 
    } 
};

Uso de múltiples reproductores de vídeo

También es posible abrir varios reproductores de vídeo en una sola instancia del componente FLVPlayback para reproducir varios vídeos y pasar de uno a otro durante la reproducción.

El reproductor de vídeo inicial se crea al arrastrar el componente FLVPlayback al escenario. El componente asigna automáticamente el número 0 al reproductor de vídeo inicial y lo convierte en el reproductor predeterminado. Para crear un reproductor de vídeo adicional, simplemente establezca la propiedad activeVideoPlayerIndex en un nuevo número. Cuando se establece la propiedad activeVideoPlayerIndex , se convierte además al reproductor de vídeo especificado en el reproductor de vídeo activo , que es el que se verá afectado por las propiedades y métodos de la clase FLVPlayback. Sin embargo, si se establece la propiedad activeVideoPlayerIndex , el reproductor de vídeo no pasará a ser visible. Para que el reproductor de vídeo sea visible, establezca la propiedad visibleVideoPlayerIndex en el número del reproductor de vídeo. Para obtener más información sobre el modo en que estas propiedades interactúan con los métodos y propiedades de la clase FLVPlayback, consulte las propiedades FLVPlayback.activeVideoPlayerIndex y FLVPlayback.visibleVideoPlayerIndex de la Referencia de ActionScript 3.0 para Flash Professional .

El siguiente código ActionScript carga la propiedad source para reproducir un archivo de vídeo en el reproductor de vídeo predeterminado y le añade un punto de referencia. Cuando se produce el evento ready , el controlador de eventos abre un segundo reproductor de vídeo estableciendo la propiedad activeVideoPlayerIndex en el número 1. Especifica un archivo FLV y un punto de referencia para el segundo reproductor de vídeo y luego define nuevamente el reproductor predeterminado (0) como el reproductor de vídeo activo.

/** 
    Requires: 
- FLVPlayback component on the Stage with an instance name of my_FLVPlybk 
*/ 
// add a cue point to the default player 
import fl.video.*; 
my_FLVPlybk.source = "http://www.helpexamples.com/flash/video/clouds.flv"; 
my_FLVPlybk.addASCuePoint(3, "1st_switch"); 
my_FLVPlybk.addEventListener(VideoEvent.READY, ready_listener); 
function ready_listener(eventObject:VideoEvent):void { 
    // add a second video player and create a cue point for it 
    my_FLVPlybk.activeVideoPlayerIndex = 1; 
    my_FLVPlybk.source = "http://www.helpexamples.com/flash/video/water.flv"; 
    my_FLVPlybk.addASCuePoint(3, "2nd_switch"); 
    my_FLVPlybk.activeVideoPlayerIndex = 0; 
};

Para cambiar a otro archivo FLV mientras se reproduce uno, debe realizarse el cambio en el código ActionScript. Los puntos de referencia permiten intervenir en puntos específicos del archivo FLV mediante un evento cuePoint. El siguiente código crea un detector del evento cuePoint y llama a una función de controlador que pone en pausa el reproductor de vídeo activo (0), cambia al segundo reproductor (1) y reproduce su archivo FLV:

import fl.video.*; 
// add listener for a cuePoint event 
my_FLVPlybk.addEventListener(MetadataEvent.CUE_POINT, cp_listener); 
// add the handler function for the cuePoint event 
function cp_listener(eventObject:MetadataEvent):void { 
        // display the no. of the video player causing the event 
        trace("Hit cuePoint event for player: " + eventObject.vp); 
        // test for the video player and switch FLV files accordingly 
        if (eventObject.vp == 0) { 
            my_FLVPlybk.pause();     //pause the first FLV file 
            my_FLVPlybk.activeVideoPlayerIndex = 1; // make the 2nd player active 
            my_FLVPlybk.visibleVideoPlayerIndex = 1; // make the 2nd player visible 
            my_FLVPlybk.play(); // begin playing the new player/FLV 
        } else if (eventObject.vp == 1) { 
            my_FLVPlybk.pause(); // pause the 2nd FLV 
            my_FLVPlybk.activeVideoPlayerIndex = 0; // make the 1st player active 
            my_FLVPlybk.visibleVideoPlayerIndex = 0; // make the 1st player visible 
            my_FLVPlybk.play(); // begin playing the 1st player 
        } 
} 
my_FLVPlybk.addEventListener(VideoEvent.COMPLETE, complete_listener); 
function complete_listener(eventObject:VideoEvent):void { 
        trace("Hit complete event for player: " + eventObject.vp); 
        if (eventObject.vp == 0) { 
            my_FLVPlybk.activeVideoPlayerIndex = 1; 
            my_FLVPlybk.visibleVideoPlayerIndex = 1; 
            my_FLVPlybk.play(); 
        } else { 
            my_FLVPlybk.closeVideoPlayer(1); 
        } 
};

Cuando se crea un nuevo reproductor de vídeo, la instancia de FLVPlayback establece sus propiedades en el valor del reproductor de vídeo predeterminado, excepto las propiedades source , totalTime, e isLive , que la instancia de FLVPlayback siempre establece en sus valores predeterminados: empty string, 0, y false , . Establece en false la propiedad autoPlay , que tiene el valor predeterminado true en el reproductor de vídeo predeterminado. La propiedad cuePoints no produce ningún efecto, ni siquiera si se carga posteriormente en el reproductor de vídeo predeterminado.

Los métodos y las propiedades que controlan el volumen, la posición, las dimensiones, la visibilidad y los controles de interfaz de usuario siempre son globales y su comportamiento no se ve afectado al establecer el valor de la propiedad activeVideoPlayerIndex . Para obtener más información sobre estos métodos y propiedades, y el efecto que tiene establecer la propiedad activeVideoPlayerIndex , consulte la propiedad FLVPlayback.activeVideoPlayerIndex en la Referencia de ActionScript 3.0 para Flash Professional . Las propiedades y métodos restantes se aplican al reproductor de vídeo identificado por el valor de la propiedad activeVideoPlayerIndex .

Sin embargo, las propiedades y métodos que controlan las dimensiones interactúan con la propiedad visibleVideoPlayerIndex. Para obtener más información, consulte la propiedad FLVPlayback.visibleVideoPlayerIndex en la Referencia de ActionScript 3.0 para Flash Professional .