Tengo un FLVPlayback cargado dinamicamente con XML en el que tengo varios FLV para reproducir. Al costado un loader con sus child en el que cargo el thumb de cada video y unos textos con los nombres.
En un menu tengo diferentes categorias para los videos (\"bandas\", \"batucadas\", \"salsa\",etc...). Funciona todo de maravillas, ahora el problema viene cuando quiero cambiar la categoria... Al inicio cargo por ejemplo \"bandas.xml\", y tengo ademas en la misma carpeta los archivos \"batucadas.xml\", salsa.xml\". etc) alli tengo detallados la ruta de los archivos flv, la ruta a los thumbs, el nombre del video...
Ademas tengo un menu con los botones para cada categoria (bandas_btn, batucadas_btn, salsa_btn etc, etc).
PROBLEMA:
Lo que intento hacer es que al darle click al \"batucadas_btn\" me cargue el archivo \"batucadas.xml\", y se carguen los archivos flv en el Player, thumbs y textos al loader, todo como al inicio.
El problema es que el FLVPlayback sencillamente \"ni mu\", \"nada de na\". No puedo lograr que me descargue el bendito xml cargado al inicio y me cargue el xml del boton clickeado. Lo maximo que pude hacer es darle un stop().
Hay forma de hacer esto dinamicamente y en el mismo Player o tendre que buscar alguna solucion alternativa ??.
Es un poco complicado, no se si me explique bien, cualquier cosa por favor me dicen y tratare de explicarme mejor.
Y aca pongo algo de codigo para que lo vean mas claro. Algunas cosas aun no las termine por lo que estan aun como comentarios.
Código :
//las clases
import fl.video.*;
import fl.events.ScrollEvent;
//seteo de Arrays para el archivo XML a cargar
var flvControl = video_mc.mivideoPlayer;
var videoList:Array = [];
var artistList:Array = [];
var categoriaList:Array = [];
//var dateList:Array = [];
var thumbList:Array = [];
//var urlList:Array = [];
var videoIndex:Number = 0;
var b:Number = 0;
var artistVar:String = \"Cargando...\";
// ************* CARGA DE XML Y LOADER ****************
var xmlURLLoader:URLLoader = new URLLoader();
var xmlURLRequest:URLRequest = new URLRequest(\"bandas.xml\");
xmlURLLoader.load(xmlURLRequest);
xmlURLLoader.addEventListener(Event.COMPLETE, dataLoaded);
function dataLoaded(event:Event):void {
var datosXML:XML = new XML(xmlURLLoader.data);
var a:Number = datosXML.video_path.length();
while (b < a) {
videoList.push(datosXML.video_path[b]);
artistList.push(datosXML.artist_name[b]);
categoriaList.push(datosXML.categoria[b]);
//dateList.push(datosXML.video_date[b]);
thumbList.push(datosXML.thumb_path[b]);
//urlList.push(datosXML.url_link[b]);
with(holder){
var vidTemplate:MovieClip = new video_detalles();
vidTemplate.x = 0;
vidTemplate.y = b * 50;
vidTemplate.artistBox.text = artistList[b];
vidTemplate.categoriaBox.text = categoriaList[b];
vidTemplate.trackNum = b;
//vidTemplate.urlVar = urlList[b];
vidTemplate.thumbPathVar = thumbList[b];
vidTemplate.flvPathVar = videoList[b];
addChild(vidTemplate);
}
b = b + 1;
}
flvControl.autoPlay = true;
flvControl.source = videoList[videoIndex];
artistVar = artistList[videoIndex];
myScroller.source = holder;
}
// ************ Y AQUI EL PROBLEMA ***************
//BOTON BATUCADAS
var botonbatucadas = (root as MovieClip).menuVideos.batucadas_btn;
botonbatucadas.addEventListener(MouseEvent.CLICK, videobatucadas);
function videobatucadas(event:MouseEvent):void{
//AQUI DEBERIA LIMPIAR O DESCARGAR EL FLVPLAYBACK EN USO ( ??? )
var xmlURLLoader:URLLoader = new URLLoader();
var xmlURLRequest:URLRequest = new URLRequest(\"batucadas.xml\");
xmlURLLoader.load(xmlURLRequest);
xmlURLLoader.addEventListener(Event.COMPLETE, dataLoaded);
}
Fijense que al final de la funcion para el click de botonbatucadas vuelvo a llamar a la funcion dataLoaded, con eso pense que bastaba pero veo que no...Lo que entiendo es que el FLVPlayback al estar en uso no quiere cargar otra cosa.
Desde ya muchas gracias por la ayuda.
