Le chargement de médias sous forme de fichiers externes
CHAPITRE 12
271
ecranVideo.addASCuePoint(2.5,"Oh !");
ecranVideo.addASCuePoint(5,"Regarde combien j’en ai !");
ecranVideo.addASCuePoint(10,"C’est bien beaucoup !");
Il serait plus judicieux d’effectuer une boucle for() et de parcourir un tableau ou un
fichier XML pour définir les différents repères à placer dans une vidéo.
Détecter des repères
Nous allons faire appel à un écouteur qui gère l’événement MetadataEvent.CUE_POINT, et
nous allons chercher à lire la propriété info.name contenue dans l’objet renvoyé à la fonction
de rappel repereAtteint() de notre exemple.
ecranVideo.addEventListener(MetadataEvent.CUE_POINT,repereAtteint);
function repereAtteint(evt:MetadataEvent) {
legende.text = evt.info.name;
}
Si le nom du repère est un nombre, n’oubliez pas de l’utiliser en tant qu’index pour
parcourir un tableau ou une arborescence XML. Retrouvez un exemple employant cette
technique après le script ci-dessous.
Le fichier video5.fla contient le script global suivant :
import fl.video.*;
// Ajouter des repères
ecranVideo.addASCuePoint(2.5,"Oh !");
ecranVideo.addASCuePoint(5,"Regarde combien j’en ai !");
ecranVideo.addASCuePoint(10,"C’est bien beaucoup !");
//Détecter des repères
ecranVideo.addEventListener(MetadataEvent.CUE_POINT,repereAtteint);
function repereAtteint(evt:MetadataEvent) {
legende.text = evt.info.name;
}
Dans cet exemple, nous ne gérons pas l’effacement des textes après un certain laps de temps
entre deux repères. De ce fait, certains sous-titres ne devraient plus être affichés après
plusieurs secondes. Il faudrait soit créer des repères avec des noms de repère vides ou
bien faire appel à la classe Timer() pour effacer le texte contenu dans l’instance legende.
Fichier de référence : Chapitre12/video6.fla
import fl.video.*;
var repliques:Array = ["Oh !","Regarde combien j’en ai !","C’est bien beaucoup !"];
// Ajouter des repères
ecranVideo.addASCuePoint(2.5,"0");
ecranVideo.addASCuePoint(5,"1");
ecranVideo.addASCuePoint(10,"2");
Précédent

- 299/426

Suivant