Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2013
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package
  2. {
  3.     import flash.display.Sprite;
  4.     import flash.display.StageAlign;
  5.     import flash.display.StageScaleMode;
  6.     import flash.events.Event;
  7.     import flash.events.NetStatusEvent;
  8.    
  9.     import org.osmf.containers.MediaContainer;
  10.     import org.osmf.elements.VideoElement;
  11.     import org.osmf.events.LoadEvent;
  12.     import org.osmf.events.MediaErrorEvent;
  13.     import org.osmf.layout.LayoutMetadata;
  14.     import org.osmf.layout.ScaleMode;
  15.     import org.osmf.media.MediaPlayer;
  16.     import org.osmf.net.DynamicStreamingItem;
  17.     import org.osmf.net.DynamicStreamingResource;
  18.     import org.osmf.net.NetStreamLoadTrait;
  19.     import org.osmf.net.StreamType;
  20.     import org.osmf.traits.MediaTraitType;
  21.    
  22.    
  23.     public class SimpleBloombergPlayer extends Sprite
  24.     {
  25.         private var vector:*;
  26.         private var videoElement:VideoElement
  27.        
  28.         public function SimpleBloombergPlayer()
  29.         {
  30.             this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
  31.         }
  32.        
  33.         private function onAddedToStage(event:Event):void{
  34.             stage.scaleMode = StageScaleMode.NO_SCALE;
  35.             stage.align = StageAlign.TOP_LEFT;
  36.             createSimplePlayer();
  37.         }
  38.        
  39.         private function createSimplePlayer():void{
  40.            
  41.             var player : MediaPlayer = new MediaPlayer ( ) ;
  42.             player.addEventListener(LoadEvent.LOAD_STATE_CHANGE,onLoadChange);
  43.             var container : MediaContainer = new MediaContainer ( ) ;
  44.             addChild ( container ) ;
  45.            
  46.             var resource : DynamicStreamingResource = new DynamicStreamingResource ("rtmpt://XXXX", StreamType.LIVE) ;
  47.             resource.urlIncludesFMSApplicationInstance = true;
  48.            
  49.            
  50.             vector = new Vector.<DynamicStreamingItem>();
  51.             vector [ 0 ] = new DynamicStreamingItem ( "REMOVED" , 1000 ) ;
  52.             vector [ 1 ] = new DynamicStreamingItem ( "REMOVED" , 700 ) ;
  53.             vector [ 2 ] = new DynamicStreamingItem ( "REMOVED" , 440 ) ;
  54.             vector [ 3 ] = new DynamicStreamingItem ( "REMOVED" , 240 ) ;
  55.             resource.streamItems = vector ;
  56.            
  57.             videoElement = new VideoElement( resource ) ;
  58.             videoElement.addEventListener(MediaErrorEvent.MEDIA_ERROR, onMediaError);
  59.            
  60.            
  61.             player.media = videoElement ;
  62.            
  63.             var layout:LayoutMetadata = new LayoutMetadata();
  64.             layout.scaleMode = ScaleMode.LETTERBOX;
  65.             layout.height = 360;
  66.             layout.width = 640;
  67.            
  68.             player.media.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout);
  69.            
  70.             container.addMediaElement ( videoElement ) ;
  71.         }
  72.        
  73.         private function onLoadChange(event:LoadEvent):void{
  74.             var media:MediaPlayer = event.target as MediaPlayer;
  75.             if(media && event.loadState == "ready"){
  76.                
  77.                 var loadTrait:NetStreamLoadTrait = media.media.getTrait(MediaTraitType.LOAD) as NetStreamLoadTrait;
  78.                
  79.                 if (loadTrait){
  80.                     loadTrait.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
  81.                 }
  82.                
  83.                 if (loadTrait && loadTrait.netStream){
  84.                     loadTrait.netStream.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
  85.                 }
  86.                
  87.                 if (loadTrait && loadTrait.connection){
  88.                     loadTrait.connection.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
  89.                 }
  90.                
  91.                 if (loadTrait && loadTrait.netGroup){
  92.                     loadTrait.netGroup.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
  93.                 }
  94.             }
  95.         }
  96.        
  97.         private function onNetStatus(event:NetStatusEvent):void {
  98.             trace("***** onNetStatus ****** :"+event.info.code);
  99.            
  100.         }
  101.        
  102.         private function onMediaError(event:MediaErrorEvent):void
  103.         {
  104.             trace("Media error event" + event.error.name);
  105.         }
  106.     }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement