RSS Flash FLV Video Player mit AS3 ohne NetConnection

verfasst 25.04.2009 von MediaCix | kurze URL: /t660 | Kommentar schreiben

Flash FLV Video Player mit AS3 ohne NetConnection

Im letzten Beitrag hatte ich eine Möglichkeit beschrieben, wie man einen einfachen Video-Player für FLV bauen kann. Diesmal noch eine andere Möglichkeit die nur auf FLVPlayback basiert. Ausser 3 Button und 2 Textfelder wird nur noch AS3 benötigt. Zusätzliche Scripte für NetConnection und NetStream entfallen. Im Anschluss eine Beschreibung wie es funktioniert.

Bevor wir zum AS-Teil kommen bereiten wir erstmal die Bühne vor. Dann erstellen wir 3 Button für Play, Stop und Pause. Vergeben den Intanzname für Play-Button ?btn_play?, für Stop-Button ?btn_stop? und für Pause-Button ?btn_pause?. Weiterhin 2 Textfelder die vorerst als Kontrolle dienen. Ein Textfeld mit Intanzname ?info_cur_end? und ein Textfeld ?info_cur_now?.

Ist alles auf der Bühne vorbereitet, müssen jetzt alle notwendigen Klassen geladen werden.

» Flash ActionScript
// FLVPlayback-Klasse
import fl.video.FLVPlayback;
// URL zur FLV Datei
var video_url:String = 'mein_video.flv';
// für einen Video-Status
var video_stat:String = 'stop';
// FLVPlayback-Klasse mit VideoPlayer-Objekt
var vid:FLVPlayback = new FLVPlayback();
// Timer
var cur_end:Number;
var cur_now:Number;


Das Video soll diesmal in einen MovieClip dargestellt werden. Dazu muss das Video-Object dem MovieClip übergeben werden. Folgende Funktion soll dies übernehmen.

» Flash ActionScript
var mc:MovieClip = new MovieClip();
mc.addChild(vid);
addChild(mc);
// Breite, Höhe und Positionen festlegen
mc.x = 110;
mc.y = 5;
mc.width = 320;
mc.height = 240;


Nun werden wieder die 3 Buttons für Play, Stop und Pause festgelegt:

» Flash ActionScript
btn_play.addEventListener(MouseEvent.CLICK,video_play);
function video_play(event:MouseEvent) {
 vid.source = video_url;
 vid.play();
}

btn_pause.addEventListener(MouseEvent.CLICK,video_pause);
function video_pause(event:MouseEvent) {
 vid.pause();
}

btn_stop.addEventListener(MouseEvent.CLICK,video_stop);
function video_stop(event:MouseEvent) {
 vid.stop();
 vid.seek(0);
}


Damit wir wieder die aktuelle Position (Zeit) des Abspielkopfs haben, wird eine weitere Funktion mittels addEventListener eingesetzt.

» Flash ActionScript
vid.addEventListener(Event.ENTER_FRAME, vid_update);
function vid_update(Event) {
 cur_now = Math.ceil( vid.playheadTime );
 cur_end = Math.floor( vid.totalTime );
 info_cur_now.text = cur_now.toString();
 info_cur_end.text = cur_end.toString();
}


Diese Werte werden dann den 2 Textfeldern übergeben. Und mehr ist es diesmal gar nicht :)

neuen Kommentar schreiben

Ich möchte automatisch eine E-Mail bei neuen Kommentaren erhalten.



Themen mit ähnlichen Inhalten


Tags zum Beitrag

netconnection     flvplayback