U kunt met ActionScript ActionScript-actiepunten toevoegen, luisteren naar gebeurtenissen van
cuePoint
, actiepunten van elk type of een bepaald type zoeken, zoeken naar een navigatieactiepunt, een actiepunt in- of uitschakelen, controleren of een actiepunt is ingeschakeld en een actiepunt verwijderen.
In de voorbeelden in deze sectie wordt een FLV-bestand met de naam cuepoints.flv gebruikt, dat de volgende drie actiepunten bevat:
Naam
|
tijd
|
Type
|
point1
|
00:00:00.418
|
Navigatie
|
point2
|
00:00:07.748
|
Navigatie
|
point3
|
00:00:16.020
|
Navigatie
|
ActionScript-actiepunten toevoegen
U kunt ActionScript-actiepunten toevoegen aan een FLV-bestand met behulp van de methode
addASCuePoint()
. In het volgende voorbeeld worden twee ActionScript-actiepunten toegevoegd aan het FLV-bestand wanneer het gereed is om af te spelen. Het eerste actiepunt wordt toegevoegd met behulp van een actiepuntobject, dat de tijd, naam en het type van het actiepunt opgeeft in de eigenschappen ervan. In de tweede aanroep worden de tijd en de naam opgegeven via de parameters
time
en
name
van de methode.
// 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");
Zie de methode FLVPlayback.addASCuePoint() in de
Naslaggids voor ActionScript 3.0
voor Flash Professional
voor meer informatie.
Luisteren naar gebeurtenissen van cuePoint
Met de gebeurtenis
cuePoint
kunt u in uw ActionScript-code controle krijgen wanneer een gebeurtenis van
cuePoint
optreedt. Wanneer actiepunten in het volgende voorbeeld optreden, roept de
cuePoint
listener een gebeurtenishandlerfunctie aan die de waarde weergeeft van de eigenschap
playheadTime
en de naam en het type van het actiepunt. Gebruik dit voorbeeld in combinaite met het voorbeeld in de voorgaande sectie, ActionScript-actiepunten toevoegen, om de resultaten te bekijken.
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);
}
Zie voor meer informatie over de gebeurtenis
cuePoint
de gebeurtenis FLVPlayback.cuePoint in de
Naslaggids voor ActionScript 3.0
voor Flash Professional
.
Actiepunten zoeken
Met ActionScript kunt u actiepunten van elk type zoeken, het dichtstbijzijnde actiepunt op een bepaalde tijd zoeken of het volgende actiepunt met een bepaalde naam zoeken.
De gebeurtenishandler
ready_listener()
in het volgende voorbeeld roept de methode
findCuePoint()
aan om het actiepunt
ASpt1
te zoeken en roept vervolgens de methode
findNearestCuePoint()
aan om het navigatieactiepunt te zoeken dat het dichtst bij de tijd van het actiepunt
ASpt1
ligt:
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);
}
In het volgende voorbeeld zoekt de gebeurtenishandler
ready_listener()
het actiepunt
ASpt
en roept de methode
findNextCuePointWithName()
aan om het volgende actiepunt met dezelfde naam te zoeken:
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);
}
Raadpleeg voor meer informatie over Label-stijlen de methoden FLVPlayback.findCuePoint(), FLVPlayback.findNearestCuePoint() en FLVPlayback.findNextCuePointWithName() in de
Naslaggids voor ActionScript 3.0
voor Flash Professional
.
Navigatieactiepunten zoeken
U kunt zoeken naar een navigatieactiepunt, zoeken naar het volgende navigatieactiepunt vanaf een bepaalde tijd en zoeken naar het vorige navigatieactiepunt vanaf een bepaalde tijd. In het volgende voorbeeld wordt het FLV-bestand cuepoints.flv afgespeeld en gezocht naar het actiepunt op 7,748 wanneer de gebeurtenis
ready
optreedt. Wanneer de gebeurtenis
cuePoint
optreedt, wordt in het voorbeeld de methode
seekToPrevNavCuePoint()
aangeroepen om naar het eerste actiepunt te zoeken. Wanneer die gebeurtenis
cuePoint
optreedt, wordt in het voorbeeld de methode
seekToNextNavCuePoint()
aangeroepen om naar het laatste actiepunt te zoeken door 10 seconden toe te voegen aan
eventObject.info.time
, de tijd van het huidige actiepunt.
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";
Zie de methoden FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToNextNavCuePoint() en FLVPlayback.seekToPrevNavCuePoint() in de
Naslaggids voor ActionScript 3.0
voor Flash Professional
.
Ingesloten actiepunten in het FLV-bestand inschakelen en uitschakelen
U kunt ingesloten actiepunten in een FLV-bestand in- en uitschakelen met behulp van de methode
setFLVCuePointEnabled()
. Uitgeschakelde actiepunten activeren geen gebeurtenissen van
cuePoint
en werken niet met de methoden
seekToCuePoint()
,
seekToNextNavCuePoint()
of
seekToPrevNavCuePoint()
. U kunt uitgeschakelde actiepunten echter wel zoeken met de methoden
findCuePoint()
,
findNearestCuePoint()
en
findNextCuePointWithName()
.
U kunt testen of een ingesloten actiepunt in een FLV-bestand is ingeschakeld met behulp van de methode
isFLVCuePointEnabled()
. In het volgende voorbeeld worden de ingesloten actiepunten
point2
en
point3
uitgeschakeld wanneer de video gereed is om af te spelen. Wanneer de eerste gebeurtenis
cuePoint
optreedt, zal de gebeurtenishandler echter testen of het actiepunt
point3
is uitgeschakeld en, zo ja, het actiepunt inschakelen.
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");
}
}
Zie de methoden FLVPlayback.isFLVCuePointEnabled() en FLVPlayback.setFLVCuePointEnabled() in de
Naslaggids voor ActionScript 3.0
voor Flash Professional
.
Een ActionScript-actiepunt verwijderen
U kunt een ActionScript-actiepunt verwijderen met behulp van de methode
removeASCuePoint()
. In het volgende voorbeeld wordt het actiepunt
ASpt2
verwijderd wanneer het actiepunt
ASpt1
optreedt:
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");
}
}
Raadpleeg FLVPlayback.removeASCuePoint() in de
Naslaggids voor ActionScript 3.0
voor Flash Professional
.