2011-09-03 85 views
0

我正在制作一个播放器,它会从youtube.com调用视频并将其显示在我的Flash播放组件中。该脚本加载的视频很好,但是当我希望Flash从外部XML数据源加载相同的视频ID时,它会加载YouTube视频播放器API,但不会加载视频。下面是代码Flash-AS3中的XML-Youtube视频AS3

Security.allowDomain("www.youtube.com"); 
Security.allowDomain("*"); 
var my_player:Object; 

var my_loader:Loader = new Loader(); 
my_loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3")); 
my_loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit); 

function onLoaderInit(e:Event):void { 
    addChild(my_loader); 
    my_player = my_loader.content; 
    my_player.addEventListener("onReady", onPlayerReady); 
} 

function onPlayerReady(e:Event):void { 
    my_player.setSize(582.2,373.1); 
    my_player.cueVideoById("53OyPYa7SEI",0); 
    my_player.playVideo(); 

} 

这个脚本加载访问youtube.com视频与我在

my_player.cueVideoById("53OyPYa7SEI",0) 

定义一个特定的ID后,我定义的XML文件名为“videos.xml”我哪里通过YouTube的链接,并尝试从Flash中的该XML文件调用视频。但问题出现在那里。下面是XML代码

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<videos> 
<VIDEO url="http://www.youtube.com/watch?v=53OyPYa7SEI" id=1/> 
<VIDEO url="http://www.youtube.com/watch?v=53OyPYa7SEI" id=2/> 
</videos> 

谁能帮我打电话从XML文件中的视频?

回答

0
var XMLPath:String = "videos.xml"; 
var xmlSlideshow :XML; 
var xmlLoader:URLLoader = new URLLoader(); 
xmlLoader.addEventListener(Event.COMPLETE, onXMLLoadComplete); 
//xmlLoader.addEventListener(ProgressEvent.PROGRESS, xmlLoadingAction); 
//xmlLoader.addEventListener(ErrorEvent.ERROR,ErrorAction); 
xmlLoader.load(new URLRequest(XMLPath)); 

function onXMLLoadComplete(e:Event):void { 
    xmlSlideshow = new XML(e.target.data); 
    trace([email protected]); 
} 

my_loader.load(new URLRequest([email protected])); 

Here是一个良好的网上啧啧。只需经过它。

+0

@ Benny 感谢您的回复如此之快。我很欣赏这一点。按照你的建议,我用我的xml文件做了必要的修改。但是播放器仍然使用定义的ID加载视频,其定义在 'my_player.cueVideoById(“53OyPYa7SEI”,0);' my_player是我需要加载目标视频ID的目标名称。如何传递该目标中的目标ID? – Amit

+0

“定义的ID被定义在”什么?你有完成这个句子吗? – Benny

+0

以前是否玩过。它应该现在玩。 – Benny