Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package
- {
- import flash.display.Sprite;
- import flash.display.StageAlign;
- import flash.display.StageScaleMode;
- import flash.events.Event;
- import flash.events.NetStatusEvent;
- import org.osmf.containers.MediaContainer;
- import org.osmf.elements.VideoElement;
- import org.osmf.events.LoadEvent;
- import org.osmf.events.MediaErrorEvent;
- import org.osmf.layout.LayoutMetadata;
- import org.osmf.layout.ScaleMode;
- import org.osmf.media.MediaPlayer;
- import org.osmf.net.DynamicStreamingItem;
- import org.osmf.net.DynamicStreamingResource;
- import org.osmf.net.NetStreamLoadTrait;
- import org.osmf.net.StreamType;
- import org.osmf.traits.MediaTraitType;
- public class SimpleBloombergPlayer extends Sprite
- {
- private var vector:*;
- private var videoElement:VideoElement
- public function SimpleBloombergPlayer()
- {
- this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
- }
- private function onAddedToStage(event:Event):void{
- stage.scaleMode = StageScaleMode.NO_SCALE;
- stage.align = StageAlign.TOP_LEFT;
- createSimplePlayer();
- }
- private function createSimplePlayer():void{
- var player : MediaPlayer = new MediaPlayer ( ) ;
- player.addEventListener(LoadEvent.LOAD_STATE_CHANGE,onLoadChange);
- var container : MediaContainer = new MediaContainer ( ) ;
- addChild ( container ) ;
- var resource : DynamicStreamingResource = new DynamicStreamingResource ("rtmpt://XXXX", StreamType.LIVE) ;
- resource.urlIncludesFMSApplicationInstance = true;
- vector = new Vector.<DynamicStreamingItem>();
- vector [ 0 ] = new DynamicStreamingItem ( "REMOVED" , 1000 ) ;
- vector [ 1 ] = new DynamicStreamingItem ( "REMOVED" , 700 ) ;
- vector [ 2 ] = new DynamicStreamingItem ( "REMOVED" , 440 ) ;
- vector [ 3 ] = new DynamicStreamingItem ( "REMOVED" , 240 ) ;
- resource.streamItems = vector ;
- videoElement = new VideoElement( resource ) ;
- videoElement.addEventListener(MediaErrorEvent.MEDIA_ERROR, onMediaError);
- player.media = videoElement ;
- var layout:LayoutMetadata = new LayoutMetadata();
- layout.scaleMode = ScaleMode.LETTERBOX;
- layout.height = 360;
- layout.width = 640;
- player.media.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout);
- container.addMediaElement ( videoElement ) ;
- }
- private function onLoadChange(event:LoadEvent):void{
- var media:MediaPlayer = event.target as MediaPlayer;
- if(media && event.loadState == "ready"){
- var loadTrait:NetStreamLoadTrait = media.media.getTrait(MediaTraitType.LOAD) as NetStreamLoadTrait;
- if (loadTrait){
- loadTrait.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
- }
- if (loadTrait && loadTrait.netStream){
- loadTrait.netStream.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
- }
- if (loadTrait && loadTrait.connection){
- loadTrait.connection.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
- }
- if (loadTrait && loadTrait.netGroup){
- loadTrait.netGroup.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
- }
- }
- }
- private function onNetStatus(event:NetStatusEvent):void {
- trace("***** onNetStatus ****** :"+event.info.code);
- }
- private function onMediaError(event:MediaErrorEvent):void
- {
- trace("Media error event" + event.error.name);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement