elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 08:59  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo, raul338)
| | |-+  Reproducir sonido en evento MouseMOve, pero que no sea eterno
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Reproducir sonido en evento MouseMOve, pero que no sea eterno  (Leído 568 veces)
MandingoPC

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Reproducir sonido en evento MouseMOve, pero que no sea eterno
« en: 18 Diciembre 2011, 00:59 »

Reproduzco sonido con el iResult = mciExecute al pasar el raton sobre un boton. Obviamente es un sonido muy corto. EL problema es q la más mínima pulsacion q haga sobre el boton, vuelve a sonar. Por ende si sigo desplasando x otros botones se traba y no suena, y luego suea todo junto.

Hay algfuna forma de que cuando ya estoy sobre un elemento, no suene más hasta que lo abandone, y luego suene de nuevo cuando lo paso de nuevo x ese elmento?


En línea
Tenient101

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: Reproducir sonido en evento MouseMOve, pero que no sea eterno
« Respuesta #1 en: 18 Diciembre 2011, 03:21 »

Usa banderas, con una variable global tipo boolean

Dim Flag As Boolean

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

if Not Flag then
      Flag = True
      ReproduceSonido ' La funcion para reproducir el sonido
      Flag = False
end if

End Sub

Salu2 !


En línea
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.832


I'Love...!¡.


Ver Perfil WWW
Re: Reproducir sonido en evento MouseMOve, pero que no sea eterno
« Respuesta #2 en: 18 Diciembre 2011, 07:27 »

Si es solo una vez en cada momento que el mouse este en la VENTANA que deseas, es decir:

* Supongamos que tienes 1 Form y dentro tienes un PictureBox, y la situacion deseada seria:
-> Moverse en el form No reproducir sonido.
-> Moverse sobre el PictureBox solo reproducir 1 sola vez, sin importar cuantas veces se mueva el mouse...

(*Recomiendo por que no se usa demasiado el procesador):
***Si es esto lo que deseas, nesesitaras hacer un HOOK al mouse a nivel Theard Local...

(-No recomendado, ya que de esta manera se usa demasiado el procesador):
***Tambien puedes implementar el procedimiento con un Timer... algo asi:

Aquí te dejo mas o menos el codigo (Si tiene alguna falla es por que lo hice aqui en el foro):

Código
 
Option Explicit
 
Private Type POINTAPI
   x                                       As Long
   y                                       As Long
End Type
 
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
 
Private hWinLastMouseMove As Long
Private hWinActivateSound As Long
 
Private Sub Form_Load()
   hWinActivateSound = Picture1.hWnd
   Timer1.Interval = 100
   Timer1.Enabled = True
End Sub
 
Private Function getCurrentWindowFromMousePoint() As Long
Dim udtMousePoint As POINTAPI
   GetCursorPos udtMousePoint
   getCurrentWindowFromMousePoint = WindowFromPoint(udtMousePoint.x, udtMousePoint.y)
End Function
 
Private Sub playMySound()
   Beep
End Sub
 
Private Sub Timer1_Timer()
Dim hWinNow As Long
   hWinNow = getCurrentWindowFromMousePoint
   If (hWinLastMouseMove = hWinNow) Then Exit Sub
   hWinLastMouseMove = hWinNow
   If Not (hWinActivateSound = hWinNow) Then Exit Sub
   Call playMySound
End Sub
 
 

Dulces Lunas!¡.
« Última modificación: 18 Diciembre 2011, 07:30 por BlackZeroX (Astaroth) » En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
MandingoPC

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Reproducir sonido en evento MouseMOve, pero que no sea eterno
« Respuesta #3 en: 18 Diciembre 2011, 07:39 »

BlackZeroX (Astaroth), Dios es una infernalidad de código, ya que pensaba hcerlo a mas o menos 25 botones omg. Pero funciona, ya veré que hacer para q ande en los 25 botones. NO creo q tenga q copuiar y pegar eso 25 veces, lo anlizaré bien yveré como es, gracias.

Tenient101, el código no funcona. Osea hace lo mismo, no para de reproducir si se sigue moviendo el mouse sobre el objeto. El sonido se reproduce siepre.
En línea
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.832


I'Love...!¡.


Ver Perfil WWW
Re: Reproducir sonido en evento MouseMOve, pero que no sea eterno
« Respuesta #4 en: 18 Diciembre 2011, 09:28 »

Pista:
Usa For Next y sustituye la variable hWinActivateSound  por un array... en el timer solo recorrelo... (Solo si son ventanas espesificas), pero de lo contrario si es un CONJUNTO de ventanas de una familia X, por ejemplo, TODOS los CommandButton de un form (fom.controls) realiza un For Each a la clase controls verificando si es un CommandButton (  if control is CommandButton then ...)... en este ultimo no veo la necesidad de crear un array... en todo debes comparar un Handle anterior para que no suenen mas de 1 vez enc ada ocación...

Dulces Lunas!¡.
En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas con el sonido al reproducir un DVD
Multimedia
dfcp 1 796 Último mensaje 15 Febrero 2005, 04:34
por Songoku
Ganar foco o reproducir sonido
Programación Visual Basic
academo 0 260 Último mensaje 5 Mayo 2006, 21:15
por academo
Problemas al reproducir un archico de/con sonido
Multimedia
gande876 1 278 Último mensaje 4 Junio 2006, 12:40
por P[i]
Reproducir sonido
Programación Visual Basic
Jareth 8 1,260 Último mensaje 14 Enero 2007, 00:19
por Jareth
Reproducir sonido C++
Programación C/C++
INS0MNIAC 5 7,270 Último mensaje 30 Septiembre 2007, 04:43
por De@th (L1zb3th)
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines