In questo articolo vedremo due modi di riproduzione di suoni in VB.NET: il primo metodo è semplice da usare, il secondo ha più opzioni ma è anche un po' più difficile da utilizzare.
Se dovete semplicemente far suonare una musica di sottofondo sarà sufficiente usare il primo metodo ma se dovete far suonare, per esempio, due suoni contemporaneamente allora avrete bisogno del metodo più complesso ma più potente.

Per riprodurre un file wav dal vostro computer basta utilizzare la seguente funzione

                        
My.Computer.Audio.Play("c:\suono.wav")
per riprodurre il file c:\suono.wav

My.Computer.Audio.Stop
per fermare la riproduzione 
                    

Per default, il suono viene riprodotto in background, ma in realtà ci sono 3 modalità distinte:

- AudioPlayMode.Background: riproduce un suono in background. Il codice chiamante continua a essere eseguito.
- AudioPlayMode.BackgroundLoop: riproduce il suono in background finché non viene chiamato il metodo Metodo My.Computer.Audio.Stop. Il codice chiamante continua a essere eseguito.
- AudioPlayMode.WaitToComplete: riproduce il suono e ne attende il completamento prima di proseguire con il codice chiamante.

                        
My.Computer.Audio.Play("c:\suono.wav", AudioPlayMode.Background)

My.Computer.Audio.Play("c:\suono.wav", AudioPlayMode.BackgroundLoop)

My.Computer.Audio.Play("c:\suono.wav", AudioPlayMode.WaitToComplete)               
                    

Veniamo ora al secondo metodo. In questa modalità è possibile riprodurre diversi formati audio e combinarli assieme durante la riproduzione. Per fare questo è sufficiente dichiarare la seguente funzione mciSendString

                        
Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer 
                    

Per iniziare dobbiamo "creare" il suono da riprodurre fornendo un alias ed il persorso ove si trova il file. Poi possiamo eseguire tutte le operazioni su quel suono. Vediamo come:

                        
Dim aliasMusica As String = "MusicaDaRiprodurre"
Dim percorsoMusica As String = "C:\suono.wma" 
'Definisco un alias e il persorso

mciSendString("Open " & Chr(34) & percorsoMusica & Chr(34) & " alias " & aliasMusica, CStr(0), 0, 0)
'"Creo" il suono da riprodurre

mciSendString("play " & aliasMusica, CStr(0), 0, 0)
'Ora posso finalmente ascoltare la musica memorizzata in aliasMusica

mciSendString("pause " & aliasMusica, CStr(0), 0, 0)
'Metto in pausa la riproduzione 

mciSendString("resume " & aliasMusica, CStr(0), 0, 0)
'Riprendo la riproduzione 

mciSendString("stop " & aliasMusica, CStr(0), 0, 0)
'Fermo la riproduzione 

mciSendString("close " & aliasMusica, CStr(0), 0, 0)
'Chiudo il "collegamento" con l'alias 
                    

Nel caso volessimo riprodurre due suoni è sufficiente "creare" 2 alias (aliasMusica1 e aliasMusica2) ed eseguire le opportune operazioni per la riproduzione.