Sonido desde VB

¿Cómo podria emitir un sonido desde una accion en VB? (Que fuera audible a traves de los altavoces del equipo)

4 respuestas

Respuesta
1
Primero debes insertar en componentes el control midi (MMcontrol), luego lo utilizas de esta forma:
MMControl1.FileName = App.Path + "\Notify.WAV"
MMControl1.Notify = False
MMControl1.Wait = True
MMControl1.Shareable = False
MMControl1.DeviceType = "WaveAudio"
MMControl1.Command = "Open"
esto lo pones en el load de la aplicacion o en donde quieras que carge el sonido,
Para hacer un loop infinito, o hasta que realicen ina acción metelo en un timer que lea la longitud de el tiempo de el archivo de sonido, "Mira cuanto dura y lo metes en el interval de el timer" y adentro escribes:
MMControl1.Command = "Stop"
MMControl1.Command = "Prev"
MMControl1.Command = "Play"
(Detiene, retrocede y reproduce.) Y listo.
Respuesta
1
Existe la instrucción Beep, así solita emite un sonido por los altavoces del PC, si no tienes altavoces por el parlantito del CPU.
No es muy elegante, por ahí te conviene tener un pequeño archivo de audio y reproducirlo mediante la api "PlaySound". No recuerdo biencomo es exactamente como se usa, pero lo puedo buscar
Muchas gracias adesragno, te agradecería que me ayudaras con la api PlaySound, porque ya había probado el Beep, pero ... como que no queda demasiado bien.
Gracias y a la espera de tu respuesta. Un saludo, Ana.
Hola! Ya encontré una api que me lo soluciona. Te paso el código.
Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Public Sub ActivaSonido()
Dim iResult As Integer
iResult = mciExecute("Play " & App.Path & "\AlertaSMS.wav")
End Sub
Gracias y un saludo.
Respuesta
1
La pregunta esencial es si se trata de un *.wav, ¿un *.mp3?
De cualquiera de ambas formas puede usarse el ocx del windows media, pero si es *.wav podes usar una api de windows.
Confírmame el formato del archivo de sonido así veo como podes hacer.
Atentamente. Manuel Fernández.
Respuesta
1
Utiliza beep dentro de tu programa.
Es un pitido corto, si quieres cambiar la frecuencia y duración de este pitido puedes hacerlo así.
Pega esto en un modulo:
Public Declare Function Beep Lib "kernel32" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
En el formulario crea un command button y copia el código
Private Sub Command1_Click()
'Escribe este codigo en cualquier evento
Beep 500, 2000
'(Donde 200 sera la frecuencia en Hertz;
'el rango de la frecuencia es [37..32767];
'2000 sera la duracion en milisegundos)
'SOLO TRABAJA EN NT/2000/XP. EN 95/98/ME,
'los parametros de frecuencia y duracion
'seran ignorados.
For i = 1 To 20
Beep 1200, 250
Beep 36, 10
Beep 950, 250
Beep 36, 10
Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas