Potete usare ActionScript per aggiungere cue point ActionScript, intercettare eventi
cuePoint
, trovare cue point di qualunque tipo o di un tipo specifico, cercare un cue point di navigazione, attivare o disattivare i cue point, controllare se un cue point è attivato e infine eliminare un cue point.
Negli esempi forniti in questa sezione viene usato un file FLV chiamato cuepoints.flv, che contiene i tre cue point seguenti:
Nome
|
Tempo
|
Tipo
|
point1
|
00:00:00.418
|
Navigazione
|
point2
|
00:00:07.748
|
Navigazione
|
point3
|
00:00:16.020
|
Navigazione
|
Aggiungere cue point ActionScript
Potete aggiungere cue point ActionScript a un file FLV mediante il metodo
addASCuePoint()
. Nell'esempio seguente vengono aggiunti due cue point ActionScript al file FLV quando questo è pronto per iniziare la riproduzione. Il primo cue point viene aggiunto utilizzando un oggetto cue point, che specifica il tempo, il nome e il tipo di cue point. La seconda chiamata specifica il tempo e il nome usando i parametri
time
e
name
del metodo.
// 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");
Per ulteriori informazioni, vedete il metodo FLVPlayback.addASCuePoint() nella
Guida di riferimento di ActionScript 3.0
per Flash Professional
.
Intercettare eventi cuePoint
L'evento
cuePoint
consente di controllare il codice ActionScript quando si verifica untale evento. Quando si verifica un cue point nel seguente esempio, il listener
cuePoint
chiama una funzione del gestore di eventi che visualizza il valore della proprietà
playheadTime
e il nome e il tipo di cue point. Usare questo esempio in combinazione con l'esempio della precedente sezione Aggiungere cue point ActionScript per visualizzare i risultati.
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);
}
Per ulteriori informazioni sull'evento
cuePoint
, vedete l'evento FLVPlayback.cuePoint nella
Guida di riferimento di ActionScript 3.0
per Flash Professional
.
Rilevare cue point
Mediante ActionScript potete cercare un cue point di qualunque tipo, il cue point in prossimità del tempo specificato o il cue point successivo con un nome specifico.
Il gestore di eventi
ready_listener()
nell'esempio seguente chiama il metodo
findCuePoint()
per cercare il cue point
ASpt1
, quindi il metodo
findNearestCuePoint()
per cercare il cue point di navigazione più vicino al tempo del cue 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);
}
Nell'esempio seguente il gestore di eventi
ready_listener()
rileva il cue point
ASpt
e chiama il metodo
findNextCuePointWithName()
per rilevare il cue point successivo con lo stesso nome:
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);
}
Per ulteriori informazioni su come trovare i cue point, vedete i metodi FLVPlayback.findCuePoint(), FLVPlayback.findNearestCuePoint() e FLVPlayback.findNextCuePointWithName() nella
Guida di riferimento di ActionScript 3.0
per Flash Professional
.
Rilevare cue point di navigazione
Potete cercare un cue point di navigazione oppure il cue point di navigazione successivo o precedente alla posizione temporale specificata. Nell'esempio seguente viene riprodotto il file FLV cuepoints.flv e viene cercato il cue point a 7.748 quando si verifica l'evento
ready
. Quando si verifica l'evento
cuePoint
, nell'esempio viene chiamato il metodo
seekToPrevNavCuePoint()
per cercare il primo cue point. Quando si verifica l'evento
cuePoint
, nell'esempio viene chiamato il metodo
seekToNextNavCuePoint()
per cercare l'ultimo cue point aggiungendo 10 secondi a
eventObject.info.time
, che rappresenta il tempo del cue point corrente.
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";
Per ulteriori informazioni, vedete i metodi FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToNextNavCuePoint() e FLVPlayback.seekToPrevNavCuePoint() nella
Guida di riferimento di ActionScript 3.0
per Flash Professional
.
Attivare e disattivare dei cue point incorporati del file FLV
Potete attivare e disattivare i cue point del file FLV mediante il metodo
setFLVCuePointEnabled()
. I cue point disattivati non attivano l'evento
cuePoint
e non funzionano con i metodi
seekToCuePoint()
,
seekToNextNavCuePoint()
o
seekToPrevNavCuePoint()
. Tuttavia, potete trovare i cue point disattivati con i metodi
findCuePoint()
,
findNearestCuePoint()
e
findNextCuePointWithName()
.
Potete verificare se un cue point incorporato del file FLV viene attivato mediante il metodo
isFLVCuePointEnabled()
. Nel seguente esempio vengono disattivati i cue point incorporati
point2
e
point3
quando il video è pronto per la riproduzione. Tuttavia, quando si verifica il primo evento
cuePoint
, il gestore di eventi controlla se il cue point
point3
è disattivato e, in caso affermativo, lo attiva.
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");
}
}
Per ulteriori informazioni, vedete i metodi FLVPlayback.isFLVCuePointEnabled() e FLVPlayback.setFLVCuePointEnabled() nella
Guida di riferimento di ActionScript 3.0
per Flash Professional
.
Rimuovere un cue point ActionScript
Potete rimuovere un cue point ActionScript mediante il metodo
removeASCuePoint()
. Nel seguente esempio viene rimosso il cue point
ASpt2
quando si verifica il cue point
ASpt1
:
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");
}
}
Per ulteriori informazioni, vedete il metodo FLVPlayback.removeASCuePoint() nella
Guida di riferimento di ActionScript 3.0
per Flash Professional
.