Wie bereits berichtet, führt Adobe mit Flash Player 10.2 das StageVideo ein. In diesem Artikel geht es darum, wie man die hardwarebeschleunigte Darstellung von Videos in ActionScript genau verwendet.

Voraussetzungen

Um das StageVideo zu verwenden, benötigt man aktuell noch den Flash Player 10.2 aus den Adobe Labs (später dann den finalen Flash Player 10.2). Außerdem muss man das Flex SDK ab Build 18623 zum Kompilieren einsetzen und zusätzlich den Kompilerbefehler "-swf-version=11" ergänzen.

Vektor mit StageVideo-Objekten

Zuerst fängt man das Event StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY ab. Dadurch erkennt man, ob die Verwendung von StageVideo möglich ist oder nicht.

Sollte StageVideo vorhanden sein, muss keine eigene Instanz davon erstellen werden, sondern man bekommt diese aus einem Vektor mit StageVideo-Objekten. Der Vektor enthält so viele Objekte, wie StageVideos gleichzeitig möglich sind (siehe voriger Artikel).

Als Fallback folgt ein gewöhnliches Video-Objekt, falls StageVideo nicht möglich sein sollte.

Zuletzt legt man noch den Viewport (also die dargestellte Größe) des StageVideo fest.

Display List vor dem StageVideo

Um zu zeigen, dass das StageVideo tatsächlich hinter der Display-List liegt, habe ich noch ein Textfeld eingefügt. Das normale Video-Objekt legt sich über das Textfeld, da es nach ihm zur Bühne hinzugefügt wird. Nicht so jedoch beim StageVideo: Das Textfeld ist sichtbar, da sich das StageVideo hinter allen Objekten befindet.

Quellcode

Actionscript:

  1. span style="color: #ff0000;">"640""360"/**
  2.          * Wird aufgerufen und enthält Info, ob StageVideo verfügbar
  3.          *
  4.          *//**
  5.          * Video starten
  6.          *
  7.          */// dummy text feld auf display list platzieren
  8. // verbindung initialisieren
  9. // stage video verfügbar?
  10. // erstes Objekt aus dem Vektor für StageVideos nehmen
  11. // wenn kein stage video verfügbar
  12. // video abspielen
  13. "http://mediapm.edgesuite.net/osmf/content/test/logo_animated.flv"// darstellungsgröße festlegen
  14. /**
  15.          * Dummy Textfeld
  16.          */"Text field on display list"/**
  17.          * Delegates für NetStream
  18.          */

Link: New Tutorial Introducing the StageVideo API