Lecture de fichiers vidéo multiples

Vous pouvez lire des fichiers vidéo de façon séquentielle dans une occurrence de FLVPlayback en chargeant tout simplement une nouvelle URL dans la propriété source à la fin de la lecture du fichier vidéo précédent. Par exemple, le code ActionScript suivant écoute l’événement complete qui se produit à la fin de la lecture d’un fichier vidéo. Lorsque cet événement se produit, le code définit le nom et l’emplacement d’un nouveau fichier vidéo dans la propriété source, puis appelle la méthode play() pour lire la nouvelle vidéo.

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"); 
    } 
};

Utilisation de plusieurs lecteurs vidéo

Vous pouvez également ouvrir plusieurs lecteurs vidéo dans une seule occurrence du composant FLVPlayback pour lire plusieurs vidéos et basculer entre eux en fonction de la lecture.

Le lecteur vidéo initial est créé lorsque vous faites glisser le composant FLVPlayback jusqu’à la scène. Le composant lui affecte automatiquement le numéro 0 et il devient lecteur par défaut. Pour créer un autre lecteur vidéo, définissez simplement la propriété activeVideoPlayerIndex sur un nouveau numéro. En définissant la propriété activeVideoPlayerIndex, vous activez également le lecteur vidéo spécifié, lequel sera affecté par les propriétés et les méthodes de la classe FLVPlayback. Toutefois la définition de la propriété activeVideoPlayerIndex ne permet pas d’afficher le lecteur vidéo. Pour le rendre visible, définissez la propriété visibleVideoPlayerIndex sur le numéro du lecteur vidéo. Pour plus d’informations sur les interactions entre ces propriétés et les méthodes et propriétés de la classe FLVPlayback, voir les propriétés FLVPlayback.activeVideoPlayerIndex et FLVPlayback.visibleVideoPlayerIndex dans le Guide de référence d’ActionScript 3.0 pour Flash Professional.

Le code ActionScript suivant charge la propriété source pour lire un fichier vidéo dans le lecteur vidéo par défaut, puis lui ajoute un point de repère. Lorsque l’événement ready se produit, le gestionnaire d’événements ouvre un second lecteur vidéo en réglant la propriété activeVideoPlayerIndex sur le numéro 1. Il définit un fichier FLV et un point de repère pour le second lecteur vidéo, puis fait à nouveau du lecteur par défaut (0) le lecteur vidéo actif.

/** 
    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; 
};

Pour basculer vers un autre fichier FLV lors de la lecture d’un premier fichier, vous devez passer dans le code ActionScript. Les points de repère vous permettent d’intervenir à des points spécifiques du fichier FLV à l’aide d’un événement cuePoint. Le code suivant crée un écouteur pour l’événement cuePoint et appelle une fonction de gestionnaire qui met en pause le lecteur vidéo actif (0), bascule vers le second lecteur (1), puis lit son fichier 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); 
        } 
};

Lorsque vous créez un lecteur vidéo, l’occurrence de FLVPlayback définit ses propriétés sur la valeur du lecteur vidéo par défaut, excepté les propriétés source, totalTime et isLive que cette occurrence définit toujours sur les valeurs par défaut : chaîne vide, 0 et false, respectivement. Elle définit la propriété autoPlay, dont la valeur par défaut est true pour le lecteur vidéo par défaut, sur false. La propriété cuePoints n’a aucun effet, et n’a pas d’incidences sur un chargement ultérieur dans le lecteur vidéo par défaut.

Les méthodes et propriétés qui contrôlent le volume, le positionnement, les dimensions, la visibilité et les commandes de l’interface utilisateur sont toujours globales, et leur comportement n’est pas affecté par la définition de la propriété activeVideoPlayerIndex. Pour plus d’informations sur ces méthodes et propriétés, ainsi que sur l’impact de la définition de la propriété activeVideoPlayerIndex, voir la propriété FLVPlayback.activeVideoPlayerIndex dans le Guide de référence d’ActionScript 3.0 pour Flash Professional. Les autres propriétés et méthodes visent le lecteur vidéo identifié par la valeur de la propriété activeVideoPlayerIndex.

Néanmoins, les propriétés et les méthodes qui contrôlent les dimensions interagissent avec la propriété visibleVideoPlayerIndex. Pour plus d’informations, voir la propriété FLVPlayback.visibleVideoPlayerIndex dans le Guide de référence d’ActionScript 3.0 pour Flash Professional.