In questo articolo vedremo due metodi 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.