<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
applicationComplete="init()" width="480" height="500">
<fx:Script>
<![CDATA[
import flash.system.Security;
import mx.collections.ArrayCollection;
import mx.events.ListEvent;
import flash.display.Loader;
import flash.events.Event;
private var player:Object;
private var loader:Loader;
[Bindable] private var vidCollection:ArrayCollection;
private function init():void {
Security.allowInsecureDomain("*");
Security.allowDomain("*");
vidCollection = new ArrayCollection();
vidCollection.addItem({data:"KhAplw0Z8zQ", label:"Wreckage"});
vidCollection.addItem({data:"d54AA2YWll0", label:"Window View"});
vidCollection.addItem({data:"Sv83GeuyN8A", label:"The Fearless Man"});
vidCollection.addItem({data:"9t5guYGbuZs", label:"Ephemeral"});
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));
}
private function onLoaderInit(event:Event):void {
VidHolder.rawChildren.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(event:Event):void {
traceArea.text += "player ready:" + Object(event).data + "\r";
player = loader.content;
player.setSize(VidHolder.width, VidHolder.height);
VidSelection.selectedIndex = 0;
VidSelection.dispatchEvent(new ListEvent(ListEvent.CHANGE, true, false));
}
private function cueVideo(event:ListEvent):void {
traceArea.text += "switch to:" + event.target.selectedItem.label + "\r";
player.cueVideoById(event.target.selectedItem.data);
}
private function onPlayerError(event:Event):void {
traceArea.text += "player error:" + Object(event).data + "\r";
}
private function onPlayerStateChange(event:Event):void {
traceArea.text += "player state:" + Object(event).data + "\r";
}
private function onVideoPlaybackQualityChange(event:Event):void {
traceArea.text += "video quality:" + Object(event).data + "\r";
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<mx:Canvas id="VidHolder" left="0" right="0" top="0" bottom="140"></mx:Canvas>
<mx:ComboBox id="VidSelection" editable="false" dataProvider="{vidCollection}" left="10" right="10" bottom="110" height="22" change="cueVideo(event)"></mx:ComboBox>
<s:TextArea left="10" right="10" editable="false" top="398" bottom="10" id="traceArea"/>
</s:Application>
Insert Code here