Reproducir un sonido .wav.

Para reproducir un archivo .wav se utiliza la API sndPlaySound, cuya declaración se puede obtener del visor de texto API de Visual Basic.

La declaración completa es la siguiente:

Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

En donde:

sndPlaySound: Es el nombre con el cual ejecutamos la función.

lpszSoundName: Es una cadena de caracteres que especifica el archivo wav a reproducir. Si el nombre del archivo no existe se detiene el sonido que se este reproduciendo. También es posible detener un sonido estableciendo este valor a nulo mediante vbNull.

uFlags hace referencia a una serie de constantes que indican como se debe reproducir el sonido. A continuación los posibles valores:

SND_SYNC: Reproduce un sonido y recién al terminar continúa con la ejecución del programa.

SND_ASYNC: Reproduce el sonido de forma asíncrona, es decir, no es necesario esperar a que termine el sonido para reproducir otro o continuar con la ejecución del programa.

SND_LOOP: Reproduce el sonido repetitivamente, es decir vuelve a reproducirlo cuando termina.

SND_NODEFAULT: Si no se encuentra el wav, suena el sonido predeterminado.

SND_NOSTOP: Si ya se está reproduciendo otro archivo, no hace nada.


Declaración de las constantes:

Public Const SND_SYNC = &H0
Public Const SND_ASYNC = &H1
Public Const NODEFAULT = &H2
Public Const SND_LOOP = &H8
Public Const SND_NOSTOP = &H10


Ejemplos:

Call sndPlaySound(App.Path & "\applause.wav", SND_ASYNC + SND_LOOP)

Call sndPlaySound(vbNull, SND_ASYNC)

Call sndPlaySound(App.Path & "\applause.wav", SND_SYNC Or SND_NODEFAULT)