Hola,
Tál y cómo te dije he montado un ejemplillo cogiendo cosillas que ya tenía hechas de aquí y de allá.
Básicamente lo que hace el ejemplo es recoger los datos de un xml(video.xml)
este es el xml
Código PHP:
<?xml version="1.0" encoding="utf-8"?>
<listado>
<videos>
<titulo>titulovideo 1</titulo>
<imagen>imagen_asoaciada1.jpg</imagen>
<archivo>video1.flv</archivo>
</videos>
<videos>
<titulo>titulovideo 2</titulo>
<imagen>imagen_asoaciada2.jpg</imagen>
<archivo>video2.flv</archivo>
</videos>
<videos>
<titulo>titulovideo 3</titulo>
<imagen>imagen_asoaciada3.jpg</imagen>
<archivo>video3.flv</archivo>
</videos>
<videos>
<titulo>titulovideo 4</titulo>
<imagen>imagen_asoaciada4.jpg</imagen>
<archivo>video4.flv</archivo>
</videos>
</listado>
Este es el código del fla:
Código PHP:
import fl.video.FLVPlayback;
import flash.display.Sprite;
import flash.display.Loader;
import flash.events.*;
import flash.net.URLRequest;
var loader:Loader = new Loader();
var container:Sprite = new Sprite();
container.name = "container";
addChild(container);
container.x=357;
container.y=170;
var miXML:XML = new XML();
var XML_URL:String = "video.xml";
var miXMLURL:URLRequest = new URLRequest(XML_URL);
var myLoader:URLLoader = new URLLoader(miXMLURL);
myLoader.addEventListener("complete", xmlLoaded);
datagr.rowCount = 4;
datagr.columns = ["Titulo"];
datagr.addEventListener(Event.CHANGE, gridItemSelected);
function xmlLoaded(event:Event):void
{
datagr.selectedIndex=0;
miXML = XML(myLoader.data);
listaRepro(miXML.videos[0].archivo);
cargador(miXML.videos[0].imagen);
for(var l:Number = 0;l<(miXML.descendants("videos").length());l++)
{
var titulo:String=(miXML.videos[l].titulo);
var sampleItem1:Object = { Titulo:titulo};
datagr.addItem(sampleItem1);
}
}
function listaRepro(peli:String)
{
player.source = peli;
player.skinBackgroundColor = 0x666666;
player.skinBackgroundAlpha = 0.5;
player.load(peli);
player.play();
}
function gridItemSelected(e:Event):void
{
listaRepro(miXML.videos[e.target.selectedIndex].archivo)
cargador(miXML.videos[e.target.selectedIndex].imagen);
}
function cargador(imagen:String)
{
loader.unload();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
var request:URLRequest = new URLRequest(imagen);
loader.load(request);
container.addChild(loader);
}
function completeHandler(event:Event):void
{
trace("imagen cargada")
}
Una vez recogidos, lo primero que hace es seleccionar el primer item del datagrid,reproducir el primer video de tu xml y colocar tu primera imagen en un container que defino y posiciono por código.
Y lo demás ya lo controla el evento gridItemSelected del datagrid, cogemos el selectedIndex y lo pasamos a las funciones de carga de imagen y de carga de video.
Por cierto que está con cs3 y mi experiencia en actionscript 3 es limitada, asi que no sé si hay cosillas que se podrían hacer mejor o más fácil.
Seguro que sí...
El ejemplo colgado está
aquí
Y los archivos
aqui:
Supongo que con esto ya lo puedes retocar a tu gusto...
Salu2 ;)
PD (En el fla que he subido a lo mejor hay algunos imports de más que se me ha olvidado quitar)