I have to create a video list from my XML and have it play the videos one after the other for a specific menu button. The XML file looks something like this were there is a CategoryName, type and loadUrl.
<page>
<categoryName>Our Services</categoryName>
<pageName>Application Development</pageName>
<type>Video</type>
<order>3-1</order>
<content>
<loadUrl>http://pegasus.dev.webriverinteractive.com/API/Resource.ashx?ResourceID=72</loadUrl>
</content>
</page>
<page>
<categoryName>Our Services</categoryName>
<pageName>Project Planning</pageName>
<type>Video</type>
<order>3-2</order>
<content>
<loadUrl>http://pegasus.dev.webriverinteractive.com/API/Resource.ashx?ResourceID=71</loadUrl>
</content>
</page>
<page>
<categoryName>Our Services</categoryName>
<pageName>Systems Integration</pageName>
<type>Video</type>
<order>3-3</order>
<content>
<loadUrl>http://pegasus.dev.webriverinteractive.com/API/Resource.ashx?ResourceID=74</loadUrl>
</content>
</page>
In my flash code I create a menu using the CategoryName and now for each of those CategoryNames were type equals video I need to build a list and have them play. Currently, I hard coded one of the urls for testing but how do I make a list for each menu item and have them videos play?:ponder:
//create menu
function createMenu():void {
//get info
for each (var node:XML in navData) {
//trace(node.name.toString());
infoName=node.info.name.toString();
infoClient=node.info.client.toString();
infoCreator=node.info.creator.toString();
//
infoContactCompany=node.info.contactCompany.toString();
infoContactName=node.info.contactName.toString();
infoContactEmail=node.info.contactEmail.toString();
//
infoSalesName=node.info.salesName.toString();
infoSalesEmail=node.info.salesEmail.toString();
infoSalesPhone=node.info.salesPhone.toString();
//place text in text fields
pname.text=infoName;
client.text=infoClient;
creator.text=infoCreator;
}
//Determine unique category names
var categoryNames:Array=[];
var categories:XMLList=navData..categoryName;
for (var i:int = 0; i < categories.length(); i++) {
var categoryName:String=categories*;
if (categoryNames.indexOf(categoryName)==-1) {
categoryNames.push(categoryName);
}
}
// Build menu based on categories
for (i = 0; i < categoryNames.length; i++) {
trace("Top level:", categoryNames*);
var pages:XMLList = navData..page.(categoryName == categoryNames*);
for (var p:int = 0; p < pages.length(); p++) {
//trace(" -> Subpage:", pages[p].pageName);
if (pages[p].type=="Video") {
trace(" -> video:", pages[p].content.loadUrl);
}
}
buildButtons(categoryNames*, pages.pageName);
videoList(categoryNames*, pages.content.loadUrl);
}
}
function videoList(categoryName:String,loadUrl:String):void {
//trace(categoryName);
trace(loadUrl);
}
// Set the function for what happens when that button gets clicked
function clipClick(e:Event):void {
//var targetURL:String=e.target.clickToPage;
//var urlRequest:URLRequest=new URLRequest(targetURL);
//navigateToURL(urlRequest);
outText.text=e.target.clickToPage;
//trace(e.target.clickToPage);
if (e.target.clickToPage=="Introduction") {
//load animation
}
if (e.target.clickToPage=="Making It So") {
//play make it so video list
stream_ns.play(vidSource);
container.visible=true;
}
}
//
// video controls and code below this line
var vidSource:String;
vidSource="http://pegasus.dev.webriverinteractive.com/API/Resource.ashx?ResourceID=16";