2013-04-27 86 views
1

我试图创建一个从AS3中的XML播放列表中调用随机视频并且不知道从哪里开始的函数。我尝试了多种方法,并且打破了我的大脑。请halp!xml flv随机播放列表AS3

虽然我有一些运气在拉视频,随机化不起作用,我也需要从XML中抓取标题。

<?xml version="1.0" encoding="UTF-8"?> 
<playlist> 
     <video url="video/flvs/04-02-02-09-01.flv" title="angry" />  
     <video url="video/flvs/14-02-01-08-01.flv" title="happy" />  
     <video url="video/flvs/04-02-01-04-01.flv" title="sad" /> 
     <video url="video/flvs/06-02-02-03-01.flv" title="frustrated" /> 
     <video url="video/flvs/21-02-02-08-01.flv" title="no emotion" /> 
</playlist> 

AS3:

function Init():void{ 
    _urlRequest = new URLRequest("playlist.xml"); 
    _xmlLoader = new URLLoader(); 
    _xmlLoader = new URLLoader(_urlRequest); 
    _xmlLoader.addEventListener(Event.COMPLETE, XMLLoaded, false, 0, true); 
} 

function XMLLoaded($e:Event):void { 
    _xml = new XML($e.target.data); 
    var randomVideo:XML = _xml.video[Math.floor(_xml.video.length() * Math.random())]; 
    PlayVideo(); 
} 
+0

有什么你试过了吗?向我们展示一些相关的代码,我们可以帮助您制定解决方案。另外,'Math.Random()'是你的朋友。 – rcdmk 2013-04-27 02:22:43

+0

不知道将snipet @bwroga发送到哪里。我猜的。没有工作。 ():void { _urlRequest = new URLRequest(“playlist.xml”); \t \t _xmlLoader = new URLLoader(); \t _xmlLoader = new URLLoader(_urlRequest); \t _xmlLoader.addEventListener(Event.COMPLETE,XMLLoaded,false,0,true); \t } 功能时事大家谈($ E:事件):无效 { \t _xml =新的XML($ e.target.data); \t var randomVideo:XML = _xml.video [Math.floor(_xml.video.length()* Math.random())]; \t PlayVideo(); } ' – spacebeers 2013-04-27 03:38:58

+0

'PlayVideo()'的代码是什么?这应该是工作得到一个随机的条目。现在你的问题必须在'PlayVideo()'方法上。 – rcdmk 2013-04-27 22:49:12

回答

1

您可以访问这样的随机播放列表节点(假设你的XML是由一个名为 “XML” 变量引用):

var randomVideo:XML = xml.video[Math.floor(xml.video.length() * Math.random())]; 

您可以访问像这样的属性:

var randomURL:String = [email protected]; 
var randomTitle:String = [email protected]; 
+0

结束使用此按描述查找和排序视频。 ()函数playRandomVideo(){ randomVideo = Math.floor(Math.random()* emotionArray [randomEmotion] .length); randomDescription = Math.floor(Math.random()* emotionArray.length); currentVideo = emotionArray [randomDescription] [randomVideo] [0]; currentDescription = emotionArray [randomDescription] [randomVideo] [1]; addGameVideo(); }'
感谢您的帮助球员 – spacebeers 2013-05-03 17:47:44