Di robydx (del 10/09/2010 @ 23:24:21, in DirectX9, linkato 2336 volte)
Semplicemente "Audio" è il nome del primo oggetto che andremo ad utilizzare nella libreria AudioVideoPlayback. Questo componente il cui nome è diverso dalla solita dicitura DirectQualcosa nasce per semplificare la gestione di file multimediali nelle applicazioni e nei giochi. Come per le altre parti di DirectX anche questa può lavorare da sola e la cosa risulta utile per chi vuole realizzare lettori multimediali ad applicativi analoghi. Ovviamente il componente si adatta anche per i giochi sostituendo il vecchio Direct Music della precedente versione. Questo ha portato a delle rinunce soprattutto per alcuni tipi di effetti realizzabili con i midi (tipo audio 3D) ma anche a dei miglioramenti come la gestione di mp3 e soprattutto dei video (che vedremo nel prossimo tutorial). Il risultato è sicuramente qualcosa di più adatto agli ambienti VB soprattutto per la tanto desiderata stabilità (a quante persone dava sui nervi il fatto che spesso il midi continuava a girare finchè non si spegnesse il computer quando veniva generato un errore?). Per utilizzare AudioVideo occorre aggiungere i relativi riferimenti.
Ora iniziamo ad utilizzare l'oggetto audio. Dichiarate un oggetto di questo tipo
Dim audio1 As Audio
e createlo
audio1 = New Audio(FileName)
Filename è una stringa con il percorso completo del file. L'oggetto audio è ora creato!!!!!!!! Ora non ci resta che adoperarlo utilizzando alcune delle opzioni in esso contenuto. audio1.Play() :esegue il brano audio1.Stop() :ferma il brano audio1.Pause() :pausa il brano (attenzione, al play il brano ritorna all'inizio ed è necessario un riposizionamento). audio1.CurrentPosition : potete usare questa proprietà per ottenere la posizione in secondi del brano o per settare una posizione. Come inserirete un nuovo valore il brano arriverà lì. audio1.Volume : per settare o ottenere il volume del brano. Attenzione che 0 è il massimo e -10000 il minimo (si lavora con l'attenuazione dei decibel che non è comunque lineare). audio1.Balance :per settare o ottenere il bilanciamento tra le casse tra -10000 a +10000 (0 è il centro). audio1.Duration :ottiene la durata del brano audio1.State : come digiterete l'uguale compariranno tre stati (pausa, stop, running). Se lo stato è uguale ad uno di quei tre il brano si trova in quello stato; ad es if audio1.State=StateFlags.Running then ... Infine se una delle proprietà accessibili da audio1.SeekingCaps. è uguale a true allora il brano permette quella azione. Ricordate di fermare il brano prima di caricarne un altro o potrebbero sentirsi due brani in contemporanea (basta chiudere il programma e tutto torna come prima). I brani non necessitano neanche di essere fermati prima di chiudere l'applicazione dato che si fermeranno automaticamente. Audio permette di riprodurre tutti i tipi di file audio supportati dal vostro computer (wave, midi, MP3, wma etcc). Provate a riprodurre un brano con mediaplayer e se funziona allora può essere inserito nei programmi. Non esiste limite ai brani che potete riprodurre contemporaneamente se non la potenza del vostro PC. Vi lascio ad un semplice esempio.