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
sí
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
.