Tramite l'oggetto Sound , è possibile gestire diversi aspetti di un file sonoro e caricare un mp3 esterno all'interno dell'oggetto sound senza doverlo importare in flash
mioSuono=new Sound();
suono.loadSound("brano.mp3",true oppure false per lo streaming);.

I metodi per l'oggetto sono:

attachSound: Associa il suono specificato nell'argomento;
getPan: Restituisce il valore della chiamata setPan precedente;
getTransform: Restituisce il valore della chiamata setTransform precedente;
getVolume: Restituisce il valore della chiamata setVolume precedente;
setPan: Imposta il bilanciamento destra/sinistra dell'audio;
setTransform: Imposta la trasformazione dell'audio;
setVolume: Imposta il livello del volume dell'audio;
start: Avvia la riproduzione di un suono dall'inizio o, se indicato, a partire dal punto impostato nell'argomento;
stop: Arresta il suono specificato o tutti i suoni in corso di riproduzione.


Scarica questo esempio

Creazione dell'oggetto
Per poter utilizzare i vari metodi a disposizione, l'oggetto Sound deve essere creato assegnando il file sonoro desiderato. Per fare questo, vi sono due modi: il primo è quello di inserire il file sonoro all'interno di un movieclip e specificare quest'ultimo come argomento dell'azione:

loop = new Sound(nomeMovieClip);

oppure è possibile utilizzando il metodo attachSound:

loop = new Sound();
loop.attachSound("nomelinkage");

In qualsiasi caso, la variabile oggetto loop è pronta per essere associata ai metodi sopra descritti.

nomelinkage deriva dalle Proprietà di concatenamento delle librerie. I vari elementi della nostra libreria possono essere utilizzati anche da filmati esterni a quello principale. Per poter disporre di questa opzione per i file sonori è necessario:
1) selezionare il file sonoro desiderato, cliccare con il pulsante destro del mouse e selezionare la voce Linkage:



2) dalla finestra Proprietà di concatenamento (Symbol Linkage Properties) selezionare la voce Export this symbol ed immettere un nome nel campo Identifier:



In questo modo, il file sonoro viene considerato come condiviso e può essere utilizzato da filmati esterni.

Al posto di nomelinkage quindi, è necessario digitare il nome inserito nella casella Identifier.

start e stop
Per avviare ed interrompere la riproduzione di un file sonoro.

//Creo l'oggetto
loop = new Sound(suono);

//Inizia la riproduzione
loop.start();
//Si interrompe la riproduzione
loop.stop();

Il metodo start ha la particolarità di poter impostare la possibilità di riprodurre il file in un punto specifico e di impostarne il numero di loop.

loop.start(15, 100);

Il file sonoro verrà riprodotto dal 15° secondo in poi, per un ciclo di 100 volte.

setPan e getPan
Per mezzo di questi due metodi è possibile impostare o conoscere il bilanciamento dell'audio. Il valore assegnato deve essere compreso tra -100 e 100, dove -100 corrisponde al canale sinistro, mentre 100 a quello destro.

//Creo l'oggetto
loop = new Sound(suono);

//Imposto l'audio nella cassa sinistra
loop.setPan(-100);
//Imposto l'audio nella cassa destra
loop.setPan(100);
//Imposto l'audio in modo bilanciato
loop.setPan(0);

getPan invece, come avrete capito, restituisce il valore, compreso tra -100 e 100, dell'ultima chiamata di setPan.

setVolume e getVolume
Il volume invece, necessita di un valore compreso tra 0 e 100, dove 0 corrisponde al silenzio totale, mentre a 100 il volume di default del sistema.

//Creo l'oggetto
loop = new Sound(suono);

//Silenzio
loop.setVolume(0);
//Troppo rumore ;-)
loop.setVolume(100);
//Volume adeguato
loop.setVolume(50);

getVolume restituisce il valore, compreso tra 0 e 100, dell'ultima chiamata di setVolume.

setTransform e getTransform
Come per l'oggetto Color, anche per Sound è possibile impostare una configurazione personalizzata della riproduzione di un file sonoro.
Ecco cosa è possibile gestire:

ll Percentuale che indica il quantitativo di input sinistro da
riprodurre nell'altoparlante sinistro (da -100 a 100);
lr Percentuale che indica il quantitativo di input destro da riprodurre nell'altoparlante sinistro (da -100 a 100);
rr Percentuale che indica il quantitativo di input destro da riprodurre nell'altoparlante destro (da -100 a 100);
rl Percentuale che indica il quantitativo di input sinistro da riprodurre nell'altoparlante destro (da -100 a 100).
Ecco come appaiono le riproduzioni stereo/mono conoscendo i parametri precedenti:

Stereo
ll = 100
lr = 0
rr = 100
rl = 0 Mono
ll = 100
lr = 100
rr = 0
rl = 0

In questo modo:

//Creo l'oggetto personalizzato
suono = { ll:'50',lr:'50',rr:'50',rl:'50' }

//Assegno la trasformazione al loop
loop.setTransform(suono);

la riproduzione dell'audio avviene in modalità mono anche se il file sonoro è stereo.

getTransform invece, restituisce il valore dei parametri dell'ultima chiamata di setTransform