Un point de repère est un point au niveau duquel le lecteur vidéo distribue un événement
cuePoint
pendant la lecture d'un fichier vidéo. Vous pouvez ajouter des points de repère dans un fichier FLV aux moments auxquels vous souhaitez qu'une action se produise pour un autre élément de la page Web. Par exemple, vous pouvez afficher du texte ou un graphique ou bien effectuer une synchronisation avec une animation Flash ou encore modifier la lecture du fichier FLV en l'interrompant, en recherchant un autre point de repère dans la vidéo ou en basculant vers un autre fichier FLV. Les points de repère vous permettent de recevoir le contrôle dans le code ActionScript, de façon à synchroniser ces points contenus dans votre fichier FLV avec d'autres actions de la page Web.
Les points de repère sont de trois types : navigation, événement et ActionScript. Les points de repère de navigation et d'événement sont également désignés sous le nom de points de repère
intégrés
, car ils sont intégrés dans le flux continu du fichier FLV et dans le paquet de métadonnées du fichier FLV.
Un
point de repère de navigation
permet de rechercher une image particulière du fichier FLV, car il y crée une image-clé la plus près possible de l'heure indiquée. Une
image-clé
est un segment de données qui intervient entre les images du flux continu du fichier FLV. Lorsque vous recherchez un point de repère de navigation, le composant recherche cette image-clé et démarre l'événement
cuePoint
.
Un
point de repère d'événement
permet de synchroniser un point dans le temps du fichier FLV avec un événement externe de la page Web. L'événement
cuePoint
se produit exactement au moment spécifié. Vous pouvez intégrer des points de repère de navigation et d'événement dans un fichier FLV à l'aide de l'Assistant Importation vidéo ou de l'encodeur vidéo de Flash. Pour plus d'informations sur l'Assistant d'importation vidéo et l'encodeur vidéo de Flash, consultez le chapitre 16, « Utilisation de la vidéo » du guide
Utilisation de Flash
.
Un
point de repère ActionScript
est un point de repère externe que vous pouvez ajouter dans la boîte de dialogue Points de repère des vidéos Flash du composant ou via la méthode
FLVPlayback.addASCuePoint()
. Le composant stocke et suit les points de repère ActionScript séparément du fichier FLV. Ils sont par conséquent moins précis que les points de repère intégrés. La précision des points de repère ActionScript est d'un dixième de seconde. Vous pouvez améliorer la précision des points de repère ActionScript en diminuant la valeur de la propriété
playheadUpdateInterval
, car le composant génère l'événement
cuePoint
pour les points de repère ActionScript lors des mises à jour de la tête de lecture. Pour plus d’informations, voir la propriété FLVPlayback.playheadUpdateInterval dans le
Guide de référence d’ActionScript 3.0
pour Flash Professional
.
Dans ActionScript et dans les métadonnées du fichier FLV, un point de repère est représenté comme un objet possédant les propriétés suivantes :
name
,
time
,
type
et
parameters
. La propriété
name
est une chaîne qui contient le nom attribué au point de repère. La propriété
time
est un nombre qui représente l'heure exprimée en heures, minutes, secondes et millisecondes (HH:MM:SS.mmm) à laquelle se présente le point de repère. La propriété
type
est une chaîne dont la valeur est
navigation
,
event
ou
actionscript
, en fonction du type de point de repère que vous avez créé. La propriété
parameters
est une plage de paires nom/valeur spécifiées.
Lorsqu'un événement
cuePoint
se produit, l'objet point de repère est disponible dans l'objet événement par le biais de la propriété
info
.
Utilisation de la boîte de dialogue Points de repère des vidéos Flash
Ouvrez la boîte de dialogue Points de repère des vidéos Flash en double-cliquant sur la cellule Value du paramètre
cuePoints
dans l’Inspecteur des composants. La boîte de dialogue est semblable à l’illustration suivante :
La boîte de dialogue affiche des points de repère intégrés et ActionScript. Vous pouvez l’utiliser pour ajouter et supprimer des points de repère ActionScript et des paramètres cuePoints. Vous pouvez également activer ou désactiver des points de repère intégrés. Vous ne pouvez cependant pas en ajouter, les modifier ou les supprimer.
Ajout d’un point de repère ActionScript
-
Dans l’Inspecteur des composants, double-cliquez sur la cellule value du paramètre
cuePoints
pour ouvrir la boîte de dialogue Points de repère Flash.
-
Cliquez sur le signe plus (+) dans le coin supérieur gauche, au-dessus de la liste des points de repère, pour ajouter une entrée de point de repère ActionScript par défaut.
-
Cliquez sur le texte Nouveau point de repère dans la colonne Nom, puis ajoutez du texte pour nommer le point de repère.
-
Cliquez sur la valeur horaire 00:00:00:000 pour la modifier, puis affectez l’heure du point de repère. Vous pouvez spécifier l’heure en heures, minutes, secondes et millisecondes (HH:MM:SS.mmm).
Si plusieurs points de repère existent, la boîte de dialogue place ce nouveau point à sa position chronologique dans la liste.
-
Pour ajouter un paramètre au point de repère sélectionné, cliquez sur le signe plus (+) au-dessus de la section Paramètres, puis entrez des valeurs dans les colonnes Nom et Valeur. Répétez cette étape pour chaque paramètre.
-
Pour ajouter d’autres points de repère ActionScript, répétez les étapes 2 à 5 pour chacun d’eux.
-
Cliquez sur OK pour enregistrer les changements.
Suppression d’un point de repère ActionScript
-
Dans l’Inspecteur des composants, double-cliquez sur la cellule value du paramètre
cuePoints
pour ouvrir la boîte de dialogue Points de repère Flash.
-
Sélectionnez le point de repère à supprimer.
-
Cliquez sur le signe moins (-) dans le coin supérieur gauche, au-dessus de la liste des points de repère, pour le supprimer.
-
Répétez les étapes 2 et 3 pour chaque point de repère à supprimer.
-
Cliquez sur OK pour enregistrer les changements.
Activation ou désactivation d’un point de repère intégré à un fichier FLV
-
Dans l’Inspecteur des composants, double-cliquez sur la cellule value du paramètre
cuePoints
pour ouvrir la boîte de dialogue Points de repère Flash.
-
Sélectionnez le point de repère à activer ou à désactiver.
-
Dans la colonne Type, cliquez sur la valeur pour déclencher le menu contextuel ou cliquez sur la flèche vers le bas.
-
Cliquez sur le nom du type de point de repère (par exemple, Evénement ou Navigation) pour l’activer. Cliquez sur Désactivé pour le désactiver.
-
Cliquez sur OK pour enregistrer les changements.
Utilisation de points de repère avec ActionScript
Vous pouvez utiliser ActionScript pour ajouter des points de repère ActionScript, écouter des événements
cuePoint
, rechercher des points de repère d’un type quelconque ou particulier, chercher un point de repère de navigation, activer ou désactiver un point de repère, vérifier si un point de repère est activé ou en supprimer un.
Les exemples figurant dans cette section utilisent le fichier FLV cuepoints.flv. Il contient les trois points de repère suivants :
Nom
|
Heure
|
Type
|
point1
|
00:00:00.418
|
Navigation
|
point2
|
00:00:07.748
|
Navigation
|
point3
|
00:00:16.020
|
Navigation
|
Ajout de points de repère ActionScript
Vous pouvez ajouter des points de repère ActionScript dans un fichier FLV à l’aide de la méthode
addASCuePoint()
. L’exemple suivant ajoute deux points de repère ActionScript dans le fichier FLV lorsqu’il est prêt. Il ajoute le premier point de repère à l’aide d’un objet point de repère qui spécifie l’heure, le nom et le type du point dans ses propriétés. Le second appel spécifie l’heure et le nom à l’aide des paramètres
time
et
name
de la méthode.
// Requires an FLVPlayback instance called my_FLVPlybk on Stage
import fl.video.*;
import fl.video.MetadataEvent;
my_FLVPlybk.source = "http://www.helpexamples.com/flash/video/cuepoints.flv"
var cuePt:Object = new Object(); //create cue point object
cuePt.time = 2.02;
cuePt.name = "ASpt1";
cuePt.type = "actionscript";
my_FLVPlybk.addASCuePoint(cuePt);//add AS cue point
// add 2nd AS cue point using time and name parameters
my_FLVPlybk.addASCuePoint(5, "ASpt2");
Pour plus d’informations, voir la méthode FLVPlayback.addASCuePoint() dans le
Guide de référence d’ActionScript 3.0
pour Flash Professional
.
Ecoute d’événements cuePoint
L’événement
cuePoint
permet de recevoir le contrôle dans le code ActionScript lorsqu’un événement
cuePoint
se produit. Lorsque des points de repère sont trouvés dans l’exemple suivant, l’écouteur
cuePoint
appelle un gestionnaire d’événements qui affiche la valeur de la propriété
playheadTime
ainsi que le nom et le type du point de repère. Pour voir les résultats, utilisez cet exemple en combinaison avec celui de la section précédente, Ajout de points de repère ActionScript.
my_FLVPlybk.addEventListener(MetadataEvent.CUE_POINT, cp_listener);
function cp_listener(eventObject:MetadataEvent):void {
trace("Elapsed time in seconds: " + my_FLVPlybk.playheadTime);
trace("Cue point name is: " + eventObject.info.name);
trace("Cue point type is: " + eventObject.info.type);
}
Pour plus d’informations sur l’événement
cuePoint
, voir l’événement FLVPlayback.cuePoint dans le
Guide de référence d’ActionScript 3.0
pour Flash Professional
.
Recherche de points de repère
En utilisant ActionScript, vous pouvez rechercher un point de repère de tout type, le point de repère le plus proche d’une heure ou un point ayant un nom particulier.
Dans l’exemple suivant, le gestionnaire d’événements
ready
appelle la méthode
findCuePoint()
pour rechercher le point de repère
ASpt1
, puis la méthode
findNearestCuePoint()
pour rechercher le point de repère de navigation le plus proche de l’heure du point
ASpt1
:
import fl.video.FLVPlayback;
import fl.video.CuePointType;
import fl.video.VideoEvent;
my_FLVPlybk.source = "http://www.helpexamples.com/flash/video/cuepoints.flv"
var rtn_obj:Object; //create cue point object
my_FLVPlybk.addASCuePoint(2.02, "ASpt1");//add AS cue point
function ready_listener(eventObject:VideoEvent):void {
rtn_obj = my_FLVPlybk.findCuePoint("ASpt1", CuePointType.ACTIONSCRIPT);
traceit(rtn_obj);
rtn_obj = my_FLVPlybk.findNearestCuePoint(rtn_obj.time, CuePointType.NAVIGATION);
traceit(rtn_obj);
}
my_FLVPlybk.addEventListener(VideoEvent.READY, ready_listener);
function traceit(cuePoint:Object):void {
trace("Cue point name is: " + cuePoint.name);
trace("Cue point time is: " + cuePoint.time);
trace("Cue point type is: " + cuePoint.type);
}
Dans l’exemple suivant, le gestionnaire d’événements
ready_listener()
recherche le point de repère
ASpt
et appelle la méthode
findNextCuePointWithName()
pour rechercher le point de repère suivant portant le même nom :
import fl.video.*;
my_FLVPlybk.source = "http://www.helpexamples.com/flash/video/cuepoints.flv"
var rtn_obj:Object; //create cue point object
my_FLVPlybk.addASCuePoint(2.02, "ASpt");//add AS cue point
my_FLVPlybk.addASCuePoint(3.4, "ASpt");//add 2nd Aspt
my_FLVPlybk.addEventListener(VideoEvent.READY, ready_listener);
function ready_listener(eventObject:VideoEvent):void {
rtn_obj = my_FLVPlybk.findCuePoint("ASpt", CuePointType.ACTIONSCRIPT);
traceit(rtn_obj);
rtn_obj = my_FLVPlybk.findNextCuePointWithName(rtn_obj);
traceit(rtn_obj);
}
function traceit(cuePoint:Object):void {
trace("Cue point name is: " + cuePoint.name);
trace("Cue point time is: " + cuePoint.time);
trace("Cue point type is: " + cuePoint.type);
}
Pour plus d’informations sur la détection des points de repères, voir les méthodes FLVPlayback.findCuePoint(), FLVPlayback.findNearestCuePoint() et FLVPlayback.findNextCuePointWithName() dans le
Guide de référence d’ActionScript 3.0
pour Flash Professional
.
Recherche de points de repère de navigation
Vous pouvez rechercher un point de repère de navigation et le point de repère de navigation suivant ou précédent à une heure spécifiée. L’exemple suivant lit le fichier FLV cuepoints.flv et recherche le point de repère situé à 7.748 lorsque l’événement
ready
a lieu. Lorsque l’événement
cuePoint
se produit, l’exemple appelle la méthode
seekToPrevNavCuePoint()
pour rechercher le premier point de repère. Lorsque cet
événement
se produit, l’exemple appelle la méthode
seekToNextNavCuePoint()
pour rechercher le dernier point de repère en ajoutant 10 secondes à
eventObject.info.time
, qui correspond à l’heure du point de repère actuel.
import fl.video.*;
my_FLVPlybk.addEventListener(VideoEvent.READY, ready_listener);
function ready_listener(eventObject:Object):void {
my_FLVPlybk.seekToNavCuePoint("point2");
}
my_FLVPlybk.addEventListener(MetadataEvent.CUE_POINT, cp_listener);
function cp_listener(eventObject:MetadataEvent):void {
trace(eventObject.info.time);
if(eventObject.info.time == 7.748)
my_FLVPlybk.seekToPrevNavCuePoint(eventObject.info.time - .005);
else
my_FLVPlybk.seekToNextNavCuePoint(eventObject.info.time + 10);
}
my_FLVPlybk.source = "http://helpexamples.com/flash/video/cuepoints.flv";
Pour plus d’informations, voir les méthodes FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToNextNavCuePoint() et FLVPlayback.seekToPrevNavCuePoint() dans le
Guide de référence d’ActionScript 3.0
pour Flash Professional
.
Activation et désactivation des points de repère intégrés au fichier FLV
Vous pouvez activer et désactiver les points de repère intégrés au fichier FLV à l’aide de la méthode
setFLVCuePointEnabled()
. Les points de repère désactivés ne déclenchent pas d’événements
cuePoint
et n’utilisent pas les méthodes
seekToCuePoint()
,
seekToNextNavCuePoint()
ni
seekToPrevNavCuePoint()
. Toutefois, vous pouvez rechercher des points de repère désactivés à l’aide des méthodes
findCuePoint()
,
findNearestCuePoint()
et
findNextCuePointWithName()
.
Vous pouvez vérifier si un point de repère intégré au fichier FLV est activé en utilisant la méthode
isFLVCuePointEnabled()
. L’exemple suivant désactive les points de repère intégrés
point2
et
point3
lorsque la vidéo est prête à être lue. Cependant, lorsque le premier événement
cuePoint
se produit, le gestionnaire d’événements vérifie si le point de repère
point3
est désactivé. Le cas échéant, il l’active.
import fl.video.*;
my_FLVPlybk.source = "http://www.helpexamples.com/flash/video/cuepoints.flv";
my_FLVPlybk.addEventListener(VideoEvent.READY, ready_listener);
function ready_listener(eventObject:VideoEvent):void {
my_FLVPlybk.setFLVCuePointEnabled(false, "point2");
my_FLVPlybk.setFLVCuePointEnabled(false, "point3");
}
my_FLVPlybk.addEventListener(MetadataEvent.CUE_POINT, cp_listener);
function cp_listener(eventObject:MetadataEvent):void {
trace("Cue point time is: " + eventObject.info.time);
trace("Cue point name is: " + eventObject.info.name);
trace("Cue point type is: " + eventObject.info.type);
if (my_FLVPlybk.isFLVCuePointEnabled("point2") == false) {
my_FLVPlybk.setFLVCuePointEnabled(true, "point2");
}
}
Pour plus d’informations, voir les méthodes FLVPlayback.isFLVCuePointEnabled() et FLVPlayback.setFLVCuePointEnabled() dans le
Guide de référence d’ActionScript 3.0
pour Flash Professional
.
Suppression d’un point de repère ActionScript
La méthode
removeASCuePoint()
permet de supprimer un point de repère ActionScript. L’exemple suivant supprime le point de repère
ASpt2
lorsque le point de repère
ASpt1
se présente :
import fl.video.*;
my_FLVPlybk.source = "http://www.helpexamples.com/flash/video/cuepoints.flv"
my_FLVPlybk.addASCuePoint(2.02, "ASpt1");//add AS cue point
my_FLVPlybk.addASCuePoint(3.4, "ASpt2");//add 2nd Aspt
my_FLVPlybk.addEventListener(MetadataEvent.CUE_POINT, cp_listener);
function cp_listener(eventObject:MetadataEvent):void {
trace("Cue point name is: " + eventObject.info.name);
if (eventObject.info.name == "ASpt1") {
my_FLVPlybk.removeASCuePoint("ASpt2");
trace("Removed cue point ASpt2");
}
}
Pour plus d’informations, voir FLVPlayback.removeASCuePoint() dans le
Guide de référence d’ActionScript 3.0
pour Flash Professional
.
|
|
|