有没有办法将YouTube视频/视频播放器嵌入到Android Flex AIR Mobile应用程序中?
我尝试使用SWFLoader(...),但由于其MX库类仅适用于桌面运行时环境,但在调试应用程序时无法在实际的Android设备上运行。有什么想法吗?
也许可以将包含YouTube视频的HTML嵌入某些Flex媒体容器(如TextArea)或其他内容?
答案 0 :(得分:1)
你去,先生:
protected var loader:Loader = new Loader();
[Bindable]
protected var player:Object;
protected function view1_creationCompleteHandler(event:FlexEvent):void
{
trace("init")
Security.loadPolicyFile("http://www.youtube.com/crossdomain.xml");
loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3&enablejsapi=1"));
}
protected function onLoaderInit(event:Event):void {
trace("onLoader")
loader.content.addEventListener("onReady", onPlayerReady);
loader.content.addEventListener("onError", onPlayerError);
loader.content.addEventListener("onStateChange", onPlayerStateChange);
loader.content.addEventListener("onPlaybackQualityChange",
onVideoPlaybackQualityChange);
}
public function loadVideo(id:String):void{
player.cueVideoByUrl(id);
trace("playing",id)
player.playVideo();
}
protected function onPlayerReady(event:Event):void {
player = loader.content;
//player.setSize(240, 210);
swfLoader.autoLoad = true;
swfLoader.scaleContent = true;
swfLoader.maintainAspectRatio = true;
swfLoader.load(player);
trace("theLo" ,String(data))
loadVideo(String(data))// kell az 1-es feladathoz itt
}
protected function swfLoader_securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityerror",event);
}
protected function onPlayerError(event:Event):void {
trace("player error:");
}
protected function onPlayerStateChange(event:Event):void {
trace("player state:", Object(event).data);
}
protected function onVideoPlaybackQualityChange(event:Event):void {
trace("video quality:", Object(event).data);
}
]]>
</fx:Script>
<s:SWFLoader id="swfLoader" x="0" y="64" width="100%" height="100%"
securityError="swfLoader_securityErrorHandler(event)"/>
如你所见,你不需要嵌入html。你也可以添加滑块和按钮..有关更多信息,请参阅youtube actionscript api:https://developers.google.com/youtube/flash_api_reference
答案 1 :(得分:-2)
我不知道你在Flex中嵌入游戏有什么样的问题。这是非常可能的,它不应该那么难。请参考this example自行实施。
P.S。我通过谷歌搜索找到了这个例子。你应该在某个时候尝试一下。