View difference between Paste ID: esWNCEfr and rsP8X2mZ
SHOW: | | - or go back to the newest paste.
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
23+
	public class SimpleBloombergPlayer extends Sprite
24
	{
25
		private var vector:*;
26
		private var videoElement:VideoElement
27
		
28-
		public function SimplePlayer()
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
}