Accueil > Adobe Flash, Adobe Flex, Technologies coté client > YouTube AS3 Chromeless player

YouTube AS3 Chromeless player

youtube

Il est enfin possible d’intégrer correctement le Chromeless player youtube dans une appli Flash/Flex en AS3. Jusqu’à maintenant il fallait utiliser un wrapper pour intégrer l’API AS2, c’etait vraiment pas propre.

J’ai fais un test rapide, ça marche très bien :
http://www.trinidev.fr/tests/youtube-chromeless/

Voilà le code :

?View Code ACTIONSCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package document
{
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.net.URLRequest;
	import flash.system.ApplicationDomain;
	import flash.system.LoaderContext;
	import flash.system.Security;
 
	/**
	 * ...
	 * @author Pascal Achard
	 */
	public class MainClass extends Sprite
	{
 
		private var _loader:Loader;
		private var _player:Object;
 
		public function MainClass():void
		{
			// On alligne le player.
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
 
			// On définit la sécu.
			Security.allowInsecureDomain("*");
			Security.allowDomain("*");
 
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
 
			// Send a trace
 
			// entry point
 
			var context:LoaderContext = new LoaderContext();
			//context.applicationDomain = ApplicationDomain.currentDomain;
			context.applicationDomain = new ApplicationDomain();
			context.checkPolicyFile = true;
 
			_loader = new Loader();
			_loader.contentLoaderInfo.addEventListener(Event.INIT, _onLoaderInit);
			_loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));
		}
 
		private function _onLoaderInit(e:Event):void
		{
			addChild(_loader);
			_loader.content.addEventListener("onReady", _onPlayerReady);
			_loader.content.addEventListener("onError", _onPlayerError);
			_loader.content.addEventListener("onStateChange", _onPlayerStateChange);
			_loader.content.addEventListener("onPlaybackQualityChange", _onVideoPlaybackQualityChange);
 
		}
 
		private function _onPlayerReady(e:Event):void
		{
			// Event.data contains the event parameter, which is the Player API ID
			trace("player ready:", Object(e).data);
 
			// Once this event has been dispatched by the player, we can use
			// cueVideoById, loadVideoById, cueVideoByUrl and loadVideoByUrl
			// to load a particular YouTube video.
			_player = _loader.content;
			_player.setSize(640, 408);
			_player.cueVideoById("CETo6PvEPE0");
		}
 
		private function _onPlayerError(e:Event):void
		{
			// Event.data contains the event parameter, which is the error code
			trace("player error:", Object(e).data);
		}
 
		private function _onPlayerStateChange(e:Event):void
		{
			// Event.data contains the event parameter, which is the new player state
			trace("player state:", Object(e).data);
		}
 
		private function _onVideoPlaybackQualityChange(e:Event):void
		{
			// Event.data contains the event parameter, which is the new video quality
			trace("video quality:", Object(e).data);
		}
 
	}
 
}
Vous avez aimé cet article ? Partagez-le :
  1. Marcel
    19/03/2010 à 01:03 | #1

    Salut ,

    merci pour l’exemple , en faite j’ai quelque petite question en ce qui concerne ce YouTube AS3 Chromeless player :

    -est ce qu’on peut passer la valeur « _player.cueVideoById » depuis variable php à partir de script php, dans je devais mettre un seule code actionscript dynamique pour mettre la valeur de _player.cueVideoById.

    -est ce qu’on peut ajouter à la fin de vidéo le button play qui était en début afin de rejouer la vidéo.

    Merci beaucoup
    -Marcel

  1. Pas encore de trackbacks

Optimization WordPress Plugins & Solutions by W3 EDGE

Switch to our mobile site