package { import flash.events.*; import flash.net.*; import fl.controls.SelectableList; import fl.video.*; import flash.text.TextField; import flash.display.MovieClip; public class FLVPlayList extends MovieClip { var flvListLoader:URLLoader = new URLLoader(); public function FLVPlayList() { flvListLoader.dataFormat = URLLoaderDataFormat.TEXT; flvListLoader.addEventListener(Event.COMPLETE, loadComplete); flvListLoader.load(new URLRequest("videos.xml")); flvList.addEventListener(Event.CHANGE, playVideo); vidPlayback.addEventListener("complete", completePlayback); } function loadComplete(event:Event):void { var flvXML:XML = new XML(event.target.data); for each (var vid in flvXML..video) { flvList.addItem({label:vid.@title, data:vid.@url, info:vid.@description}); } flvList.selectedIndex = 0; vidPlayback.source = (flvList.getItemAt(0).data); vidPlayback.play(); descText.text = (flvList.getItemAt(0).info); } function playVideo(event:Event) { vidPlayback.source = event.target.selectedItem.data; descText.text = event.target.selectedItem.info; } function completePlayback(eventObject:Object):void { var idx:uint = flvList.selectedIndex; if (flvList.selectedIndex == 5) { vidPlayback.source = (flvList.getItemAt(0).data); vidPlayback.play(); flvList.selectedIndex = 0; idx = 0; } else { idx += 1; vidPlayback.source = (flvList.getItemAt(idx).data); flvList.selectedIndex = idx; vidPlayback.play(); } } } }