Ciao a tutti, prima di tutto complimenti per questo forum.
Ho un problemino sono un neofita del campo e mi sono imbattuto in un problemino cercando di creare un piccolo controller mp3.
Ho allegato il file *.as, se potete aiutarmi anche a grandi linee:
non riesco a far visualizzare l'array chiamato array_titolo fuori dalla funzione in cui si trova, poiche è una funzione che viene eseguita grazie ad un evento.
Ringraziandovi in anticipo saluti a tutti.
Raffaele
Codice Allegato:
Codice PHP:package {
import flash.display.Stage;
import flash.display.MovieClip;
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.events.*;
import flash.net.*;
import flash.media.*;
public class main extends MovieClip {
public var array_titolo:Array = new Array();
public var array_file:Array = new Array();
public function main (){
gestione_animazione_controller_audio();
funzione_controller_principale();
}
public function gestione_animazione_controller_audio(){
//animazione entrata uscita controller audio [APERTA]
controller_audio.onoff_btn2.visible = false;
controller_audio.onoff_btn.visible = true;
controller_audio.onoff_btn.addEventListener(MouseEvent.CLICK, visualizza_controller_audio_on);
controller_audio.onoff_btn2.addEventListener(MouseEvent.CLICK, visualizza_controller_audio_off);
function visualizza_controller_audio_on(Event:MouseEvent){
trace("OK Controller Visualizzato.......:)");
animazione_movieclip_tween(controller_audio, 1252, 985);
controller_audio.onoff_btn2.visible = true;
controller_audio.onoff_btn.visible = false;
}
function visualizza_controller_audio_off(Event:MouseEvent){
trace("OK Controller Eliminato.......:)");
animazione_movieclip_tween(controller_audio, 985, 1252);
controller_audio.onoff_btn2.visible = false;
controller_audio.onoff_btn.visible = true;
}
function animazione_movieclip_tween(mc:MovieClip,inizio:Number, fine:Number){
var myTween2:Tween = new Tween(mc,"x",Elastic.easeInOut,inizio,fine,4,true);
}
//animazione entrata uscita controller audio [CHIUSA]
}
public function funzione_controller_principale(){
//gestione file xml nel controller audio
var fileXML:String = "../xml/audio.xml";
var loader_xml:URLLoader = new URLLoader();
loader_xml.load(new URLRequest(fileXML));
loader_xml.addEventListener(Event.COMPLETE, controller_audio_xml);
function controller_audio_xml(event:Event){
var xmlData:XML = new XML();
xmlData = new XML(event.target.data);
array_xml_audio(xmlData, array_titolo, array_file)
gestione_audio(array_file);
}
//popolamento array
function array_xml_audio(playlist:XML, array1:Array, array2:Array){
var playlist_titolo:XMLList = playlist.song.title.children();
var playlist_attributi:XMLList = playlist.song.title.attributes ();
var playlist_file:XMLList = playlist.song.file.children();
for(var i:Number = 0; i < playlist_titolo.length(); i++){
var titolo:XML = playlist.song.title[i];
var file:XML = playlist.song.file[i];
array1.push(titolo);
array2.push(file);
}
}
}
public function gestione_audio(fileMP3:Array){
//gestione audio del controller audio
var numero_brano:Number = 0;
var loader_mp3:URLRequest = new URLRequest(fileMP3[numero_brano])
var channel:SoundChannel = new SoundChannel();
var sound_mp3: Sound = new Sound();
sound_mp3.load(loader_mp3);
sound_mp3.addEventListener(Event.COMPLETE, gestione_audio);
sound_mp3.addEventListener(IOErrorEvent.IO_ERROR, errore_caricamento);
sound_mp3.addEventListener(ProgressEvent.PROGRESS, audio_caricamento);
function errore_caricamento(event:Event){
trace("Errore caricamento, controllare percorso del file");
}
function audio_caricamento(event:ProgressEvent){
}
//gestione pulsanti del controller audio
function gestione_audio(evt:Event){
controller_audio.stop_btn.addEventListener(MouseEvent.CLICK, stop_audio);
controller_audio.play_btn.addEventListener(MouseEvent.CLICK, ascolta_audio);
controller_audio.rewind_btn.addEventListener(MouseEvent.CLICK, indietro_audio);
controller_audio.forward_btn.addEventListener(MouseEvent.CLICK, avanti_audio);
}
function ascolta_audio(event:MouseEvent){
channel = sound_mp3.play();
}
function stop_audio(event:MouseEvent){
channel.stop();
}
function indietro_audio(event:MouseEvent){
}
function avanti_audio(event:MouseEvent){
}
}
}
}

Rispondi quotando