U kunt ook meerdere videospelers openen binnen een enkele instantie van de component FLVPlayback en zo meerdere video's afspelen en er tijdens het afspelen tussen schakelen.
U kunt de eerste videospeler maken door de component FLVPlayback naar het werkgebied te slepen. De component wijst het nummer 0 automatisch aan de nieuwe videospeler toe en stelt deze in als de standaardspeler. Als u een extra videospeler wilt maken, zet u de eigenschap
activeVideoPlayerIndex
op een ander nummer. Door de eigenschap
activeVideoPlayerIndex
in te stellen, wordt de opgegeven videospeler tevens de
actieve
videospeler. Dat is de videospeler die door de eigenschappen en de methoden van de klasse FLVPlayback wordt beïnvloed. Het instellen van de eigenschap
activeVideoPlayerIndex
heeft echter niet tot gevolg dat de videospeler zichtbaar wordt. Als u de videospeler zichtbaar wilt maken, stelt u de eigenschap
visibleVideoPlayerIndex
in op het nummer van de videospeler. Zie voor meer informatie over hoe deze eigenschappen en de methoden en eigenschappen van de klasse FLVPlayback elkaar beïnvloeden de eigenschappen FLVPlayback.activeVideoPlayerIndex en FLVPlayback.visibleVideoPlayerIndex in de
Naslaggids voor ActionScript 3.0
voor Flash Professional
.
Met de volgende ActionScript-code wordt de eigenschap
source
geladen om een FLV-bestand in de standaard videospeler af te spelen en een actiepunt toe te voegen. Wanneer de gebeurtenis
ready
optreedt, opent de gebeurtenishandler een tweede videospeler door de eigenschap
activeVideoPlayerIndex
op nummer 1 in te stellen. Hiermee worden een FLV-bestand en actiepunt opgegeven voor de tweede videospeler en wordt de standaardspeler (0) weer de actieve videospeler.
/**
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;
};
Als tijdens het afspelen van een FLV-bestand naar een ander FLV-bestand moet worden overgeschakeld, moet u dat in de ActionScript-code opgeven. Met actiepunten kunt u een gebeurtenis
cuePoint
gebruiken om een FLV-bestand op bepaalde punten naar een ander FLV-bestand te laten overschakelen. De volgende code maakt een listener voor de gebeurtenis
cuePoint
en roept tevens een handlerfunctie aan die de actieve videospeler (0) onderbreekt, overschakelt naar de tweede speler (1) en vervolgens het FLV-bestand van de tweede speler afspeelt:
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);
}
};
Als u een nieuwe videospeler maakt, stelt de instantie FLVPlayback de eigenschappen van de nieuwe speler in op de waarden van de standaard videospeler, met uitzondering van de eigenschappen
source
,
totalTime,
en
isLive
. Deze eigenschappen worden door de instantie FLVPlayback altijd op de standaardwaarden ingesteld: respectievelijk lege string, 0 en
false
. De eigenschap
autoPlay
, die voor de standaard videospeler standaard op
true
staat, wordt op
false
ingesteld. De eigenschap
cuePoints
heeft geen effect, ook niet als het bestand de volgende keer in de standaard videospeler wordt geladen.
De methoden en eigenschappen die het volume, de positionering, de afmetingen, de zichtbaarheid en de gebruikersinterface-elementen bepalen zijn altijd algemeen en hun gedrag wordt niet beïnvloed door het instellen van de eigenschap
activeVideoPlayerIndex
. Zie voor meer informatie over deze methoden en eigenschappen en het effect van het instellen van de eigenschap
activeVideoPlayerIndex
de eigenschap FLVPlayback.activeVideoPlayerIndex in de
Naslaggids voor ActionScript 3.0
voor Flash Professional
. De resterende eigenschappen en methoden hebben betrekking op de videospeler die door de waarde van de eigenschap
activeVideoPlayerIndex
wordt geïdentificeerd.
De eigenschappen en methoden die de afmetingen bepalen,
beïnvloeden
echter
wel
de eigenschap
visibleVideoPlayerIndex
. Zie de eigenschap FLVPlayback.visibleVideoPlayerIndex in de
Naslaggids voor ActionScript 3.0
voor Flash Professional
voor meer informatie.