HelloWorld: Ein Video mit dem OSMF abspielen
10
Sep
2009
Heute gibt es das erste Codebeispiel zu Adobes neuem Open Source Media Framework (OSMF). Nach der Ankündigung des Frameworks (noch unter dem Codenamen Strobe) und den ersten öffentlichen Downloads nimmt das OSMF nun langsam Form.
Das Beispiel ist sehr einfach gehalten und spielt jediglich ein Video ab. Anschauen
Es basiert auf der aktuellen OSMF-Version 0.5. Die Demo verwendet Flex, müsste jedoch analog auch mit Flash CS4 funktionieren, da das OSMF unabhängig von jeglichen Frameworks ist. Flash CS3 wird scheinbar nicht mehr unterstützt, da z.B. Vektoren verwendet werden, die erst mit Flash Player 10 eingeführt wurden.
XML:
-
<?xml version="1.0" encoding="utf-8"?>
-
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
-
-
<mx:Script>
-
<![CDATA[
-
// Wichtige Klassen des OSMF importieren
-
import org.openvideoplayer.display.*;
-
import org.openvideoplayer.image.*;
-
import org.openvideoplayer.video.*;
-
import org.openvideoplayer.net.*;
-
import org.openvideoplayer.media.*;
-
import org.openvideoplayer.utils.*;
-
import org.openvideoplayer.events.*;
-
import org.openvideoplayer.swf.*;
-
-
// neues MediaPlayerSprite-Objekt
-
public var sprite:MediaPlayerSprite = new MediaPlayerSprite();
-
-
/**
-
* Die Funktion init wird zu Beginn aufgerufen (creationComplete, siehe oben)
-
*/
-
public function init():void {
-
// URL des Videos
-
var myURL:URL = new URL("./demo-video.flv");
-
-
// neues Videoelement
-
sprite.element = new VideoElement( new NetLoader(), new URLResource(myURL) );
-
-
// Sprite des MediaPlayer zur Bühne hinzufügen
-
myUI.addChild(sprite);
-
-
sprite.mediaPlayer.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, onStateChange);
-
-
}
-
-
/**
-
*Funktion wird bei einem State Change des Videoplayers aufgerufen
-
*/
-
private function onStateChange(event:MediaPlayerStateChangeEvent):void {
-
debugTxt.text += "State Change: " + event.newState.name + "\n";
-
}
-
-
]]>
-
-
</mx:Script>
-
-
<!-- Container für das MediaPlayer Sprite -->
-
<mx:UIComponent id="myUI" width="400" height="300" />
-
-
<!-- Bedienelemente -->
-
<mx:HBox>
-
<mx:Button click="sprite.mediaPlayer.play()" label="play" />
-
<mx:Button click="sprite.mediaPlayer.pause()" label="pause" />
-
</mx:HBox>
-
-
<!-- Debug Text -->
-
<mx:TextArea id="debugTxt" width="400" height="100" editable="false" />
-
-
</mx:Application>
Der Ablauf, um ein Video abzuspielen, ist recht einfach. Zuerst wird ein neues MediaPlayerSprite erstellt. Dieses hat eine Eigenschaft element, der verschiedene Medienelemente (Video, Audio, Grafik, SWF, etc.) zugeordnet werden können (wie z.B. hier ein VideoElement). OSMF ist also kein reiner Videoplayer, sondern kann unterschiedliche Medien abspielen.
Beim Erstellen des VideoElement-Objekts kommt die Klasse NetLoader zum Einsatz. Sie sorgt für den Verbindungsaufbau zu einer Audio- oder Videodatei (also NetConnection/NetStream). Dies kann sowohl als Progressive Download (HTTP) oder auch als Stream (RTMP) geschehen.
Link: Building a Hello World App with OSMF
Link: Open Source Media Framework
Archiv: OSMF
2 Kommentare zum Beitrag "HelloWorld: Ein Video mit dem OSMF abspielen"
OSMF: Videos, Bilder, Sounds und SWF nacheinander abspielen
http://www.video-flash.de/index/osmf-bilder-sounds-swf-abspielen/
Hinweis: Das Beispiel wurde aktualisiert, damit es mit der aktuellen Version 0.93 funktioniert.
http://github.com/florianplag/OSMF-Examples/tree/master/HelloWorldPlayVideo
Schreibe einen Kommentar