Originariamente inviato da and80
Con la funzione stessa, l'esecuzione di quella funzione è la conseguenza del caricamento.
Non mi è chiaro, c'è un motivo per cui devi utilizzare la funzione fuori?
devo creare l'array dal file xml una volta popolato l'array mandare in esecuzione i video indicati
Codice PHP:
//-------------------------------------------------------------------------
// XML
//-------------------------------------------------------------------------
/**/
var xmlLoader:URLLoader = new URLLoader();
var xmlRequest:URLRequest = new URLRequest("video/playlist.xml");
xmlLoader.addEventListener(Event.COMPLETE, Load_XML);
xmlLoader.load(xmlRequest);
// definisco l'array all'esterno (valore globale)
var playlist:Array = new Array()
// ..
function Load_XML(e:Event) {
var xml:XML = new XML(e.target.data);
for each (var item in xml.videos.video.@url) {
playlist.push("\""+item+"\"");
}
// IN DATA
trace("playlist IN function = " + playlist);
}
// OUT DATA
trace("playlist OUT function = " + playlist);
//-------------------------------------------------------------------------
// VIDEO
//-------------------------------------------------------------------------
// *** Array provvisorio da sostituire con quello creato nel estrazione dati del file xml ***
/*
var playlist:Array = new Array(
"video/video_1.mp4",
"video/video_2.flv",
"video/video_3.flv",
"video/video_5.flv",
"video/video_6.flv",
"video/video_7.flv"
);
*/
// creiamo un oggetto NetConnection
var netconn:NetConnection = new NetConnection();
netconn.connect(null);
// impostiamo l'oggeto netStream, associandolo alla NetConnection creata
var stream_video = new NetStream(netconn);
// associamo un client allo stream video
stream_video.client = this;
// associamo li flusso netStream all'istanza dell'oggetto Video
var player:Video= new Video();
// aggiungiamo il player video sullo stage
addChild(player);
// associamo al player lo stream video
player.attachNetStream(stream_video);
// avviamo la riproduzione del file video desiderato
stream_video.play(playlist[0]);
// verifica di stato
var i = 0
function controllaStatus(evt:NetStatusEvent):void{
// ..
//trace(evt.info.code);
// ..
// fine del video in esecuzione
if (evt.info.code == "NetStream.Play.Stop"){
trace("Il Video N: "+ i + " Terminato");
i++;
if (i > (playlist.length-1)){
i = 0;
trace("Fine playlist ricomincia da: " + i);
}
trace("Riproduco il video N: " + i);
stream_video.play(playlist[i]);
}
// ..
} // END function
// ..
stream_video.addEventListener(NetStatusEvent.NET_STATUS, controllaStatus);
//-------------------------------------------------------------------------
Originariamente inviato da and80
Se proprio vuoi, puoi scrivere una funzione esterna e richiamarla quando viene inviato l'evento.
Potresti farmi un esempio... ?
Grazie