Inspiriert durch einen Beitrag von Lee Brimelow über „Dynamic Frame Rates“ in ActionScript 3 habe ich einen kleinen Versuch gestartet, wie man damit temporale Mikrointeraktivität (vgl. Kapitel 3.3 „Mikrointeraktivät“) umsetzen könnte. Im Beispiel (Link siehe unten) kann die Geschwindigkeit des Videos über einen Schieberegler gesteuert werden. So kann das Video entweder verlangsamt oder beschleunigt werden.
Verwendet wird die Eigenschaft this.stage.frameRate, mit der man in ActionScript 3 die Framerate einer SWF-Datei ändern kann.
[as]this.stage.frameRate = 15;
[/as]
Allerdings funktioniert dies nur mit eingebetteten Videos (vgl. Kapitel 13.4 „Wege zur Integration von Videos“), da dieses direkt von der Framerate der SWF-Datei abhängt. Bei einem eingebetteten Video mit Ton hat es nicht geklappt. Der komplette Code der Anwendung lautet:
[ad]
[as]
// drawCircle
var circle:Sprite = new Sprite();
circle.x = 50;
circle.y = 50;
circle.graphics.beginFill(0xFFFFFF);
circle.graphics.drawCircle(0, 0, 10);
addChild(circle);
// init
this.stage.frameRate = Math.round ((circle.x – 25) / 5);
fps.text = this.stage.frameRate + “ fps“;
// MouseEvents
circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
circle.addEventListener(MouseEvent.MOUSE_MOVE, mouseMover);
circle.addEventListener(MouseEvent.MOUSE_OUT, mouseReleased);
circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
// Functions
function mouseDown(event:MouseEvent):void {
circle.startDrag(false, new Rectangle(50, 50, 300, 0));
}
function mouseMover(event:MouseEvent):void {
this.stage.frameRate = Math.round ((circle.x – 25) / 5);
fps.text = this.stage.frameRate + “ fps“;
}
function mouseReleased(event:MouseEvent):void {
circle.stopDrag();
}
[/as]
Link: Beispiel anschauen
Link: Download .fla als ZIP-Archiv
Link: Lee Brimelow „Dynamic Framerates“
Hallo,
steig gerade in Flash CS3 ein. Die oben beschriebene Funktion ist genau das was ich lange gesucht hab. Hab es bereits für mich angepasst. Nur wenn ich daraus eine swf Datei erzeuge und diese in eine andere fla Datei einbinde und teste, verschwindet der Kreis für den Slider und somit die Funktion des Anpassens der Abspielgeschwindigkeit. Was mach ich da falsch? Danke im Voraus!
Nach dieser Option habe ich schon seit langem gesucht. Danke!
Jetzt würde ich noch gerne das eingebettete Video mit einem Button und im
FLV File eingebettete Cue-Points anspringen. Aber leider versuche ich das
seit Tagen vergeblich. Könnten Sie mir einen Tip geben, wie ich das
Anwählen der Cuepoints in Ihrem Projekt realisieren kann.
Vielen Dank im Voraus.
Ich denke, das geht nicht, da meines Wissens eingebettete Videos keine CuePoints unterstützen.
Alternativ könnte man natürlich „ganz klassisch“ einfach das entsprechende Frame in der Timeline anspringen.