Du kan också öppna flera videospelare i en enda instans av FLVPlayback-komponenten för att spela upp flera videor och växla mellan dem när de spelas upp.
Du skapar den första videospelaren när du drar FLVPlayback-komponenten till scenen. Komponenten ger automatiskt den första videospelaren siffran 0 och gör den till standardvideospelaren. Om du vill skapa ytterligare en videospelare ställer du helt enkelt in ett nytt nummer för egenskapen
activeVideoPlayerIndex
. Genom att ställa in egenskapen
activeVideoPlayerIndex
gör du den angivna videospelaren till den
aktiva
videospelaren, som är den spelare som kommer att påverkas av egenskaperna och metoderna i klassen FLVPlayback. Däremot blir inte videospelaren synlig när du ställer in egenskapen
activeVideoPlayerIndex
. Om du vill göra videospelaren synlig anger du videospelarens nummer i egenskapen
visibleVideoPlayerIndex
. Mer information om hur de här egenskaperna samverkar med metoderna och egenskaperna i klassen FLVPlayback finns i avsnitten om egenskaperna FLVPlayback.activeVideoPlayerIndex och FLVPlayback.visibleVideoPlayerIndex i
Referenshandbok för ActionScript 3.0
i Adobe Flash Professional
.
Följande ActionScript-kod laddar egenskapen
source
för att spela upp en videofil i standardvideospelaren och lägger till en referenspunkt för den. När
ready
-händelsen inträffar öppnar händelsehanteraren ytterligare en videospelare genom att ställa in egenskapen
activeVideoPlayerIndex
till 1. Den anger en videofil och en referenspunkt för den andra videospelaren och gör sedan standardspelaren (0) till den aktiva videospelaren igen.
/**
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;
};
Om du vill växla till en annan FLV-fil när en fil spelas upp måste du växla i ActionScript-koden. Med referenspunkter kan du gå emellan vid angivna punkter i FLV-filen med hjälp av en
cuePoint
-händelse. Följande kod skapar en avlyssnare för
cuePoint
-händelsen och anropar en hanterarfunktion som pausar den aktiva videospelaren (0), växlar till den andra spelaren (1) och spelar upp dess videofil:
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);
}
};
När du skapar en ny videospelare anger FLVPlayback-instansen standardvideospelarens värden för den nya videospelarens egenskaper, förutom egenskaperna
source
,
totalTime,
och
isLive
som FLVPlayback-instansen alltid ställer in standardvärdena för: tom sträng, 0 och
false
. Egenskapen
autoPlay
, som har värdet
true
för standardvideospelaren, får värdet
false
. Egenskapen
cuePoints
har ingen effekt, och den har ingen effekt på en följande hämtning till standardvideospelaren.
Metoderna och egenskaperna som styr volym, placering, mått, synlighet och gränssnittskontroller är alltid globala och deras beteende påverkas inte av att du ställer in egenskapen
activeVideoPlayerIndex
. Mer information om de här metoderna och egenskaperna, och om effekten av att ange egenskapen
activeVideoPlayerIndex
, finns i avsnittet om egenskapen FLVPlayback.activeVideoPlayerIndex i
Referenshandbok för ActionScript 3.0
i Adobe Flash Professional
. De återstående egenskaperna och metoderna anger videospelaren, som identifieras av värdet på egenskapen
activeVideoPlayerIndex
, som mål.
Egenskaper och metoder som styr mått
fungerar dock tillsammans
med egenskapen
visibleVideoPlayerIndex
. Mer information finns i avsnittet om egenskapen FLVPlayback.visibleVideoPlayerIndex i
Referenshandbok för ActionScript 3.0
i Adobe Flash Professional
.