Dopo aver visto come caricare un video ad alta definizione, e come gestirne la lettura dei MetaData e dei TextData, vediamo come sia possibile caricare dei file contenenti solo audio ad alta definizione (ad esempio un file m4a); quanto visto finora per il video è in larga parte riutilizzabile per i file audio, anzi per la parte di riproduzione in Actionscript 3 il codice è pressochè identico mentre varia lievemente in Actionscript 2.
Per caricare un file audio con la classe NetStream non è necessario avere oggetti sullo stage dato che, ovviamente, non c'è nulla da visualizzare, pertanto, sia con Actionscript 2 che con Actionscript 3, potremo caricare il file interamente tramite codice.
Nota: l'estensione m4a è quella più comune per i file audio in alta qualità, tuttavia è possibile riscontrare dei file con estensione mp4 contenenti solo audio e non video, difatto se proviamo a rinominare un file m4a in mp4 questo funzionerà comunque correttamente.
Vediamo le azioni necessarie per caricare il file all'interno del nostro filmato; come detto non è necessario disporre oggetti sullo stage, né manualmente (come invece abbiamo fatto con l'oggetto Video nell'esempio Actionscript 2) né tramite codice (come avevamo fatto con Actionscript 3).
Caricare l'audio - Actionscript 2
Il codice da utilizzare per caricare e avviare un file audio ad alta qualità con Actionscript 2 è il seguente:
Listato 8.1. Carica e avvia un file audio con AS2
// creiamo un oggetto NetConnection
var netconn:NetConnection = new NetConnection();
netconn.connect(null);
// impostiamo l'oggeto netStream, associandolo alla NetConnection creata
var stream_audio = new NetStream(netconn);
// avviamo la riproduzione del file video desiderato
stream_audio.play("audio.m4a")
Possiamo notare che in questo caso l'oggetto NetStream non richiede di essere associato a nessun altro oggetto.
L'audio partirà automaticamente appena avviato il filmato, non sono quindi richiesti metodi come play o start che vengono invece usati dalla classe Sound.
Caricare l'audio - Actionscript 3
Il codice Actionscript 3 è praticamente identico a quello visto per i video, nell'esempio abbiamo solo cambiato il nome all'oggetto NetStream in stram_audio. L'unica differenza sostanziale rispetto al codice Actionscript 2 è l'uso della proprietà client.
Listato 8.2. Carica e avvia un file audio con AS3
// creiamo un oggetto NetConnection
var netconn:NetConnection = new NetConnection();
netconn.connect(null);
// impostiamo l'oggeto netStream, associandolo alla NetConnection creata
var stream_audio = new NetStream(netconn);
// associamo un client allo stream audio
stream_audio.client = this
// avviamo la riproduzione del file video desiderato
stream_audio.play("audio.m4a")
Per quanto riguarda il controllo del volume del file, si può utilizzare lo stesso codice visto per la regolazione del volume nei filmati.
Nota: è possibile utilizzare il componente FLVPlayback anche per la riproduzione dei file audio, basterà impostare come source il percorso del file desiderato (nel nostro esempio audio.m4a) e il componente mostrerà solo i controlli sulla riproduzione e sul volume.