2011-09-02 90 views
0

我想从flash中调用youtube.com中的视频as2。视频链接存储在外部xml文件中。当我尝试使用精确的flv位置调用视频时,Flash工作正常,但每当我尝试调用YouTube网址时都会崩溃。我被代码困住了。我想知道该视频是否可以在需要以xml存储的特定GMT时间开始。请帮忙。通过XML在Flash中通过Youtube.com调用视频通过XML

下面是闪码:

Security.allowDomain("www.youtube.com"); 
Security.allowDomain("*"); 

//initializing xml loading 
// load the xml file 
xmlData = new XML(); 
xmlData.ignoreWhite = true; 
xmlData.onLoad = loadXML; 
xmlData.load("videos.xml"); 

// parse the nodes of the xml into an array 
function loadXML() { 
    vidArray = new Array(); 
    aNode = this.firstChild.childNodes; 
    len = aNode.length; 
    for (var n = 0; n != len; n++) { 
     vidArray[n] = aNode[n].attributes.url; 
    } 
} 
output_vid.onEnterFrame = function() { 
    trace(vidArray[0]); 
    output_vid.contentPath = vidArray[0]; 
}; 

这里是XML代码(video.xml)

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<videos> 
<video url="http://www.youtube.com/watch?v=jYa1eI1hpDE"/> 
</videos> 

请帮助!

+0

在你的榜样的网址指向的HTML页面,所以你不能用它作为源在Flash视频组件。 YouTube有一个用于在自己的Flash应用程序中播放视频的API,您应该可以使用它(我不确定它们是否仍支持AS2)。 –

+0

@ Lars 感谢您的回复。你能帮助我一个替代方案吗? – Amit

+0

您可以使用他们的API,他们仍然支持AS2,看起来像:http://code.google.com/apis/youtube/flash_api_reference_as2.html –

回答

0

加载XML到Flash ... 获取您的网址字符串,说 “STRING3” 例如..

STRING3 =“http://www.youtube.com/watch?v=jYa1eI1hpDE “

现在替换 ”表?v =“ 后面有 ”v /“

var stringArray:Array=string3.split("watch?v="); 
string3 = stringArray.join("v/"); 

现在STRING3 = ”http://www.youtube.com/v/jYa1eI1hpDE“

这是在所有youtube上确切的flv位置vi deos ....不需要做任何事情。

+0

该URL是一个SWF,而不是一个FLV。 –

+0

这就是我的意思...反正它应该工作,他崩溃了,因为他被链接到一个网页,而不是一个swf文件...这样的代码应该还是不管术语的工作,但你是正确的...它是瑞士法郎;)哈哈,不知道我在想什么! –