Beispiel der Time Code Klasse

Ein vielgewünschtes Feature bei der Integration von Videos ist die Anzeige der Zeit. Leider liefert die NetStream-Klasse die aktuelle Position des Videos nur in vollen Sekunden (z.B. 80 Sekunden statt 1 Minute 20 Sekunden). Somit muss man für eine sinnvolle Zeitanzeige die Werte erst umrechnen.

Die TimeCode-Klasse übernimmt diese Aufgabe. Als Input erwartet sie nur die Anzahl der Sekunden. Als Ausgabe liefert sie einen String in der Form "Minuten:Sekunden" ("MM:SS", z.B. 02:10) oder "Stunden:Minuten:Sekunden" ("HH:MM:SS", z.B. 10:00:00). Da die Stundenangabe normalerweise im Internet nicht benötigt wird, ist die erste Variante standardmäßig aktiviert.

Um die Funktionsweise der TimeCode-Klasse zu verdeutlichen, habe hier den kurzen Beispielcode aus der .fla-Datei. Die Funktion getTC(Sekunden) liefert als Rückgabewert den Timecode. Die Funktion showHours(true) aktiviert das Stundenformat.

Für die (Video-)Praxis bedeutet dies: Einfach ein neues TimeCode-Objekt anlegen. Dann z.B. sinngemäß mit myTextField.text = myTimeCode.getTC (myNetStream.time) in einem Textfeld die Zeit anzeigen lasssen. Damit die Zeit ständig aktualisiert wird, einfach einen Timer setzen (siehe hier im Archiv).

Der Download-Link befindet sich im unteren Ende des Artikels.

Actionscript:

  1. // import TimeCode class
  2. // new TimeCode
  3. // example 1: 121 seconds
  4. // trace
  5. " seconds = "" (MM:SS)");
  6.  
  7. // example 2: showHours, 3601 seconds
  8. // trace
  9. " seconds = "" (HH:MM:SS)");

Der Quellcode der Klasse lautet:

Actionscript:

  1. // TimeCode class by Florian Plag (www.video-flash.de)
  2. //
  3. // converts seconds into TimeCode (MM:SS or HH:MM:SS)
  4. // @author Florian Plag   
  5. // @version 0.2 (Update for Flash CS3)
  6. // :::: constructor ::::  
  7. // :::: showHours ::::         
  8. // :::: getTC ::::      
  9. ""// hours
  10. "0"":"":";
  11.         };
  12.             };
  13.            
  14.             // minutes
  15. "0"":"":";
  16.       };         
  17.            
  18.             // seconds
  19. "0"

Link: TimeCode Klasse (ZIP) (Klasse und Beispiel)