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.
// 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;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;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);
}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();
}