RIPRODUZIONE DI SUONI IN VB.NET


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.

Autore: Fabrizio De Odorico

TAGS: mciSendString, Riproduzione, Suoni, Vb.net

Postato il 09/02/2013 | Invia ad un amico  |   Versione stampabile  |   Aggiungi ai preferiti  |   Visite: 3585  |   Contattami su whatsapp

Modulo Login

 

 

 

 

 

Vuoi offrirmi un caffè?

Se trovi utili i miei articoli o vuoi aiutarmi ad aggiungere altro materiale sul sito...

fai una Donazione

Terminologia

La piattaforma .Net è una suite di prodotti creata dalla Microsoft dove i vari linguaggi di programmazione sono orientati agli oggetti (da C# a Visual Basic a J#).
Il bytecode di .NET viene compilato al momento dell'esecuzione (just in time compilation) ed è compatibile con le sole piattaforme Windows.

Java è un linguaggio di programmazione orientato agli oggetti creato dalla Sun Microsystems.
Il bytecode, generato dalla compilazione, viene interpretato dalla Java Virtual Machine in fase di esecuzione. Per questo motivo le applicazioni java sono indipendenti dall'hardware sulle quali vengono eseguite.