Guest User

Untitled

a guest
Jul 23rd, 2013
31
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 SimplePlayer extends Sprite
  24.     {
  25.         private var vector:*;
  26.         private var videoElement:VideoElement
  27.        
  28.         public function SimplePlayer()
  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.         }
  37.        
  38.         private function createSimplePlayer():void{
  39.            
  40.             var player : MediaPlayer = new MediaPlayer ( ) ;
  41.             player.addEventListener(LoadEvent.LOAD_STATE_CHANGE,onLoadChange);
  42.             var container : MediaContainer = new MediaContainer ( ) ;
  43.             addChild ( container ) ;
  44.            
  45.             var resource : DynamicStreamingResource = new DynamicStreamingResource ("rtmpt://XXXX", StreamType.LIVE) ;
  46.             resource.urlIncludesFMSApplicationInstance = true;
  47.            
  48.            
  49.             vector = new Vector.<DynamicStreamingItem>();
  50.             vector [ 0 ] = new DynamicStreamingItem ( "REMOVED" , 1000 ) ;
  51.             vector [ 1 ] = new DynamicStreamingItem ( "REMOVED" , 700 ) ;
  52.             vector [ 2 ] = new DynamicStreamingItem ( "REMOVED" , 440 ) ;
  53.             vector [ 3 ] = new DynamicStreamingItem ( "REMOVED" , 240 ) ;
  54.             resource.streamItems = vector ;
  55.            
  56.             videoElement = new VideoElement( resource ) ;
  57.             videoElement.addEventListener(MediaErrorEvent.MEDIA_ERROR, onMediaError);
  58.            
  59.            
  60.             player.media = videoElement ;
  61.            
  62.             var layout:LayoutMetadata = new LayoutMetadata();
  63.             layout.scaleMode = ScaleMode.LETTERBOX;
  64.             layout.height = 360;
  65.             layout.width = 640;
  66.            
  67.             player.media.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout);
  68.            
  69.             container.addMediaElement ( videoElement ) ;
  70.         }
  71.        
  72.         private function onLoadChange(event:LoadEvent):void{
  73.             var media:MediaPlayer = event.target as MediaPlayer;
  74.             if(media && event.loadState == "ready"){
  75.                
  76.                 var loadTrait:NetStreamLoadTrait = media.media.getTrait(MediaTraitType.LOAD) as NetStreamLoadTrait;
  77.                
  78.                 if (loadTrait){
  79.                     loadTrait.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
  80.                 }
  81.                
  82.                 if (loadTrait && loadTrait.netStream){
  83.                     loadTrait.netStream.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
  84.                 }
  85.                
  86.                 if (loadTrait && loadTrait.connection){
  87.                     loadTrait.connection.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
  88.                 }
  89.                
  90.                 if (loadTrait && loadTrait.netGroup){
  91.                     loadTrait.netGroup.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
  92.                 }
  93.             }
  94.         }
  95.        
  96.         private function onNetStatus(event:NetStatusEvent):void {
  97.             trace("***** onNetStatus ****** :"+event.info.code);
  98.            
  99.         }
  100.        
  101.         private function onMediaError(event:MediaErrorEvent):void
  102.         {
  103.             trace("Media error event" + event.error.name);
  104.         }
  105.     }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment