2011-09-02 115 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文件...這樣的代碼應該還是不管術語的工作,但你是正確的...它是瑞士法郎;)哈哈,不知道我在想什麼! –