Ich habe gerade den FLV Flash Fullscreen Video Player (Open Source) auf Version 1.9.5 aktualisiert. Neu ist eine wichtige Schnittstelle für Flashentwickler, damit man den Player in AS3 instanzieren und dynamisch aktualisieren kann.
Player auf die Bühne bringen
Die Klassen des FLV Players werden mit import org.FLVPlayer.*;
importiert. Mit var myFLVPlayer:FLVPlayer = new FLVPlayer();
und addChild(myFLVPlayer)
erstellt man eine neue Instanz des Players und fügt man sie der Bühne hinzu. Die FLVPlayer
-Klasse erweitert übrigens die Klasse MovieClip
, weshalb der Player wie ein gewöhnliche MovieClip genutzt werden kann (z.B. myFLVPlayer.x = 250;
).
Eigenschaften festlegen
Jetzt benötigt der Player Informationen, was er darstellen soll. Dafür gibt es die Klasse Param
. Mit var myParam1:Param = new Param();
erstellt man eine neue Instanz. Diese gilt es nun zu befüllen: myParam1.video = "demo-video.flv"
legt die Videodatei fest, myParam1.preview = "demo-preview.jpg"
definiert das Vorschaubild und so weiter. Eine komplette Übersicht der Eigenschaften des Param-Objekt findet man in der Dokumentation des Players, denn es sind die gleichen, die auch über HTML festgelegt werden können. Einziger Unterschied: Während die Parameter in HTML komplett kleingeschrieben sind (z.B. autoscale), schreibt man in ActionScript die Flash-typische Schreibweise (autoScale).
Player initieren und aktualisieren
Jetzt kann man den FLV Player mit dem gerade erstellten Param-Objekt starten: myFLVPlayer.start(myParam1)
Um den Inhalt des Players zur Laufzeit zu ändern, gibt es die Funktion updatePlayer(p:Param)
. Dies bedeutet, dass man ein neues/aktualisiertes Param-Objekt an der Player übergeben kann und dieser sich damit neu initiert (z.B.myFLVPlayer.updatePlayer(myParam2)
).
Beispiel
Das Beispiel zeigt, wie man den Player in ActionScript 3 einsetzt. Anhand einer angedeuteten Playlist wird auch die neue Update-Funktion gezeigt. Im Folgenden der Code des Beispiels (Link siehe unten). Die Flashdatei (.fla) befindet im Download der aktuellen Version des Players.
Link: Beispiel anschauen
[as]
import org.FLVPlayer.*;
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import fl.events.*;
// create new player and add to stage
var myFLVPlayer:FLVPlayer = new FLVPlayer();
addChild(myFLVPlayer);
myFLVPlayer.x = 250;
myFLVPlayer.y = 15;
// new param objects
var myParam1:Param = new Param();
var myParam2:Param = new Param();
var myParam3:Param = new Param();
// param 1
myParam1.contentPath = „content“;
myParam1.video = „demo-video.flv“;
myParam1.preview = „demo-preview.jpg“;
myParam1.skinColor = 0x004460;
// param 2
myParam2.contentPath = „content“;
myParam2.video = „demo-ad.flv“;
myParam2.preview = „content/demo-preview.jpg“;
myParam2.skin = „skin-applestyle.swf“;
// param 3
myParam3.contentPath = „content“;
myParam3.video = „demo-video.flv“;
myParam3.preview = „demo-preview.jpg“;
myParam3.skin = „skin-applestyle.swf“;
myParam3.autoScale = false;
myParam3.videoWidth = 640;
myParam3.videoHeight = 480;
// start with first param
myFLVPlayer.start(myParam1);
//
function onClick(evt:ListEvent) {
if (evt.rowIndex == 0) myFLVPlayer.updatePlayer(myParam1);
if (evt.rowIndex == 1) myFLVPlayer.updatePlayer(myParam2);
if (evt.rowIndex == 2) myFLVPlayer.updatePlayer(myParam3);
}
// ::::: DATAGRID ::::
// new data provider
var dp:DataProvider = new DataProvider();
// drei einträge hinzufügen
dp.addItem({Playlist:“My demo video“});
dp.addItem({Playlist:“My demo ad“});
dp.addItem({Playlist:“My demo video (big)“});
// den data provider als datenquelle festlegen
myDataGrid.dataProvider = dp;
// event listener
myDataGrid.addEventListener(ListEvent.ITEM_CLICK, onClick);
[/as]
Link: Beispiel anschauen
Link: FLV Flash Fullscreen Video Player
[ad]