Sónido en VB

Iniciado por ka0s, 17 Agosto 2006, 04:07 AM

0 Miembros y 1 Visitante están viendo este tema.

ka0s

Hola, mi duda es la siguiente...
Hice un Alarma en VB donde programas la hora y cuando se cumple te avisa. Pero como no sabía como ponerle un .wav o .mid de un ruido de una alarma lo hice con el simple BEEP xD
Alguién me podría decir como ponerle para que cuando se cumpla ahora suene un sónido que elija?


Salu2!

elmaro

dieguito usa esto
toma, en un modulo .bas pones las declaraciones:

Declare Function sndPlaySound Lib "WINMM.DLL" Alias "sndPlaySoundA" _
      (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Const SND_SYNC = &H0
   Const SND_ASYNC = &H1
   Const SND_NODEFAULT = &H2
   Const SND_LOOP = &H8
   Const SND_NOSTOP = &H10

y en el formulario pones donde kieras,. en el load,. en un boton o donde mela kieras

SoundName$ = "tu_sonido.wav"
   wFlags% = SND_ASYNC Or SND_NODEFAULT
   x% = sndPlaySound(SoundName$, wFlags%)




El MaRo!

sircid

#2
Oye maro el codigo anterior que publicastes solo sirve para archivos wav?

Encontre un código para reproducir archivos midi/mid por si te sirve:

Los ficheros mid pueden reproducirse de la siguiente forma :

Private Declare Function mciSendString Lib "winmm.dll" Alias _
"mciSendStringA" (ByVal lpstrCommand As String, ByVal _
lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal _
hwndCallback As Long) As Long

'lo de las dobles comillas es para evitar problemas con nombres largos

Dim ret As Integer
ret = mciSendString("open ""c:\windows\media\canyon.mid"" type sequencer alias cancion", 0&, 0, 0)
ret = mciSendString("play cancion wait", 0&, 0, 0)
ret = mciSendString("close cancion", 0&, 0, 0)

Con esto tu programa se detiene hasta que finaliza la "canción".
Si quieres que emnpiece a sonar y siga tu programa debes hacer :
ret = mciSendString("open ""c:\windows\media\canyon.mid"" type sequencer alias cancion", 0&, 0, 0)
ret = mciSendString("play cancion", 0&, 0, 0)

Y cuando quieras que pare de sonar (o antes de cerrar tu programa) :

Dim ret As Long
ret = mciSendString("stop cancion", 0&, 0, 0)
ret = mciSendString("close cancion", 0&, 0, 0)


Créditos