Sì, ma siccome sei digiuno, sarebbe troppo lungo da spiegare il tutto passo per passo, specialmente per la gestione della pausa.
Mi auguro che tu sappia almeno come si crea un simbolo e come, dallo stesso, si estraggono le sue istanze (vedi Libreria).
Sarebbe ancor più facile se tu sapessi anche come si fa ad assegnare un nome alle istanze.
Per il resto ti consiglio di consultare la guida di Flash, cercando l'oggetto Sound (come si costruisce) e la sua gestione con loadSound.
Fa esattamente quello che chiedi:
ti carica un file.mp3, senza troppa attesa (riempie un buffer e tu ascolti il file audio con un caricamento progressivo); basta settargli la booleana in true.
Una volta costruito l'oggetto Sound (sto per spiegarti come si fa, ma molte cose dipendono dalla versione che hai di Flash), puoi richiamarlo tramite gli eventi di pulsante.
Ecco l'esempio (spiccio), nella speranza di rendermi comprensibile:
- Metti un file mp3 nella stessa cartella in cui c'è il file .swf generato col tuo file .fla; supponiamo che il file.mp3 abbia il nome canzone.mp3
- Apri il tuo .fla, seleziona (con un clic) il fotogramma in cui vuoi che avvenga il caricamento e, lì stesso, crea due istanze di pulsante (fai due disegni, selezionali uno alla volta e premi F8.
- Nel pannello che si apre, una volta per il primo disegno e l'altra per il secondo, seleziona il comportamento Pulsante (o Button) e dai l'OK.
In realtà hai creato un SimboloPadre che va a depositarsi nella libreria e, al tempo stesso, ne hai già estratto un'istanzaFiglia dello stesso.
Prima che tu vada ad associare qualunque azione, puoi estrarre altre istanze di quello stesso simbolo per mezzo del classico Copia/Icolla logico, attuandolo sullo stage.
Un altro modo per estrarre istanze di simbolo è:
aprire la libreria e trascinare il simbolo sullo stage (l'area utile di lavoro che corrisponde al frame che hai selezionato), tante volte, quante sono le istanze che ti servono.
Seleziona il pulsante del Play, apri il pannello Azioni (tasto F9), metti in modalità Esperto (dipende dalla versione che hai di Flash) affinché tu possa "scriptare" in piena libertà, come se fosse il Notepad di Windows.
Scrivi (quelli in rosa, ovv.te, sono solo commenti) oppure incolla:
codice:
on (press) { //quando premo su questo pulsante...
brano = new Sound(); //... crea un'istanza per l'oggetto (non è altro che una variabile).
brano.loadSound("canzone.mp3", true); //carica, al suo interno, il flusso dell'mp3 di nome canzone.mp3, settandolo in "vero".
} // fine istruzione
Poi, seleziona il pulsante di Stop e, come prima, nel pannello Azioni, associagli:
codice:
on (press){
brano = false; // la var si "invalida" e così il flusso si interrompe
}
C'è da dire che, ad ascolto ultimato, una copia del file.mp3 si deposita nella cache del browser e pertanto il caricamento successivo avviene all'istante.
Questo esempio ti mostra un solo metodo, ma puoi fare la stessa cosa, associando lo script direttamente al fotogramma, però, in tal caso, la sintassi è del tutto diversa, e bisogna dare un nome univoco ad ognuna delle istanze di pulsante che vorrai usare.
In linea generale:
Se le istanze di simbolo (per es Movieclip) sono annidate, l'una nell'altra, allora sarà necessario immettere anche il percorso relativo (ma questa è un'altra storia).
Fai prima questa prova e dimmi se sono generoso...
NAP