Bueno yo tengo este codigo que me hizo en su dia RafaxPlayer y qye va perfecto. Imagina que quieres hacer una discografia, que al pincha en un icono, se abra la caratula en tamaño mayor y una listbox conteniendo las canciones del disco elegido, y que al pinchar en una cancion de la listbox se reproduzcan todas ellas ( apartir de la elegida) de forma continua. Yo tengo esto :
En Pagina, en Propiedades en OnShow:
function ListBoxExAddFolder(strObjectName, strFolder)
ListBox.DeleteItem(strObjectName,LB_ALLITEMS);
Audios = File.Find(strFolder,"*.mp3", true, false); -- esto suponiendo que todos los audios son mp3
for index,Filepath in Audios do -- esto en AMS7 si es AMS 8 cambia la linea por:
--for index, value in pairs (Audios) do
sText = String.SplitPath(Filepath).Filename;
sData = Filepath;
ListBox.AddItem(strObjectName,sText,sData);
end
end
--- FUNCION PARA PODER ABRIR UNA IMAGEN O UNA LABEL DETERMINADA, LLAMANDOLA DESDE EL BOTON
---- TENER EN CUENTA LA CANTIDAD DE IMAGENES PARA AJUSTAR LA COUNT A LA MISMA
function imgVisibles(imgVis)
for count = 1,21 do --creamos un loop con todos los numeros de imagen del 1 al 60
Image.SetVisible("Image"..count,false);-- concatenamos los numeros con Image asi ocultara desde el 1 al 25
--ListBox.SetVisible("ListBox"..count, false);--hacemos la las listbox ocultas para llmarla desde el bootn de acción solo se usa cuando hay mas listbox
Label.SetVisible("Label"..count, false);
end
Image.SetVisible(imgVis,true);-- una vez todas ocultas hacemos visible la que queremos imgVis = "Video",2 o la que sea
end
Esto hace que al cargar la pagina busque los archivos mp3 y los añada a la listbox
En la ListBox en la opcion OnSelect
tSelected = ListBox.GetSelected("ListBox1");
if tSelected then
sFile = ListBox.GetItemData("ListBox1", tSelected[1]);
MediaPlayer.Load("Plugin1",sFile);
MediaPlayer.Play("Plugin1");
end
Esto hace y obliga a la List Box a cargar las canciones en mp3
En el Plugin MSMEDIAPLayer, en su opcion OnFinish
nCount ="";
nNext ="";
sFile ="";
nCount = ListBox.GetCount("ListBox1");
tSelected = ListBox.GetSelected("ListBox1");
if tSelected then
nSelected = tSelected[1];
nNext = nSelected;
if nNext < nCount then
nNext = nNext+1;
ListBox.SelectItem("ListBox1", nNext);
sFile = ListBox.GetItemData("ListBox1", nNext);
MediaPlayer.Load("Plugin1", sFile);
MediaPlayer.Play("Plugin1");
elseif nNext == nCount then
ListBox.SelectItem("ListBox1", 1);
sFile = ListBox.GetItemData("ListBox1", 1);
MediaPlayer.Load("Plugin1", sFile);
MediaPlayer.Play("Plugin1");
end
end
Estos códigos me funcionan de maravilla, pinchas en una imagen, se abre la caratula del disco, se abre la listbox y se reproduce de forma continua mediante el Media Player que esta integrado en el propio AIO, y lo colocas donde quieras
Una cosa así mas o menos
Al pinchar en una imagen pequeña, se abre la caratula a mayor tamaño y la listbox de la derecha, pinchando en una cancion se reproduce todo en el media player que se encuentra en su parte inferior e integrado en el propio AIO