Bueno yo mismo me respondo:
Lo que quería hacer era que un List cargue datos de un archivo XML (que son canciones) y al dar click a un elemento suene la canción que corresponde.
Aquí está el código:
Código AS3:
Ver originalimport fl.controls.List;
import fl.data.DataProvider;
import flash.net.*;
import flash.events.*;
var lista:List = new List();
lista.setSize(180, 300);
lista.move(50, 50);
addChild(lista);
var xml:XML;
var archivo:String = "canciones.xml";
var req:URLRequest = new URLRequest(archivo);
var loader:URLLoader = new URLLoader();
loader.load(req);
loader.addEventListener(Event.COMPLETE, whenComplete);
function whenComplete(e:Event) {
var xml:XML = new XML(e.target.data);
var canciones:XMLList = xml.cancion.nombre.text();
var urls:XMLList = xml.cancion.url.text();
var listaCanciones:Array = new Array();
var listaUrls:Array = new Array();
var i:uint = 0;
for (i; i < canciones.length(); i++) {
listaCanciones.push(canciones[i]);
listaUrls.push(urls[i]);
lista.addItem({label:listaCanciones[i], data:listaUrls[i]});
}
}
lista.addEventListener(Event.CHANGE, tocarCancion);
function tocarCancion(e:Event):void {
var song:URLRequest = new URLRequest(lista.selectedItem.data);
var sound:Sound = new Sound(song);
sound.play();
}