Autor
|
Tema: Implementar Este Codigo En (Cliente-Servidor) (Leído 4,427 veces)
|
zaon
Desconectado
Mensajes: 4
|
Hola que tal recien inicio en vb6 y quiero probar implementar este codigo para carga un sonido Wav (CommandBoton1, CommandoBoton2, Text1, CommonDialog1). ' Constantes para los flags
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' look for application specific association Private Const SND_APPLICATION = &H80 ' name is a WIN.INI [sounds] entry Private Const SND_ALIAS = &H10000 ' name is a WIN.INI [sounds] entry identifier Private Const SND_ALIAS_ID = &H110000 ' play asynchronously Private Const SND_ASYNC = &H1 ' play synchronously (default) Private Const SND_SYNC = &H0
' name is a file name Private Const SND_FILENAME = &H20000 ' loop the sound until next sndPlaySound Private Const SND_LOOP = &H8 ' lpszSoundName points to a memory file Private Const SND_MEMORY = &H4 ' silence not default, if sound not found Private Const SND_NODEFAULT = &H2 ' don't stop any currently playing sound Private Const SND_NOSTOP = &H10 ' don't wait if the driver is busy Private Const SND_NOWAIT = &H2000 ' purge non-static events for task Private Const SND_PURGE = &H40 ' name is a resource name or atom Private Const SND_RESOURCE = &H40004
' Declaración del api PlaySound ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _ ByVal lpszName As String, _ ByVal hModule As Long, _ ByVal dwFlags As Long) As Long
Private Sub Command1_Click() With CommonDialog1 .DialogTitle = " Seleccionar archivo de audio" ' Filtra los Archivos con extensión wav .Filter = "Archivos wav|*.wav" ' Abre el diálogo .ShowOpen If .FileName = vbNullString Then Exit Sub Else Text1.Text = .FileName End If End With End Sub
' Reproduce el archivo de sonido wav Sub Reproducir_WAV(Archivo As String, Flags As Long) Dim ret As Long ' Le pasa el path y los flags al api ret = PlaySound(Archivo, ByVal 0&, Flags) End Sub
' Botón para reproducir el sonido Private Sub Command2_Click() Call Reproducir_WAV(Text1.Text, SND_FILENAME Or SND_ASYNC Or SND_NODEFAULT) End Sub Ese es un form2 y desp tengo el form1 que es el cliente.... a ver si me pueden dar una mano...esto puede quedar asi? Cliente (Form2) (CommandBoton1, CommandoBoton2, Text1, CommonDialog1). Private Sub Command1_Click() With CommonDialog1 .DialogTitle = " Seleccionar archivo de audio" ' Filtra los Archivos con extensión wav .Filter = "Archivos wav|*.wav" ' Abre el diálogo .ShowOpen If .FileName = vbNullString Then Exit Sub Else Text1.Text = .FileName End If End With End Sub
Private Sub Command2_Click() enviar "soundon" End Sub
Server (Form1) ' Constantes para los flags
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' look for application specific association Private Const SND_APPLICATION = &H80 ' name is a WIN.INI [sounds] entry Private Const SND_ALIAS = &H10000 ' name is a WIN.INI [sounds] entry identifier Private Const SND_ALIAS_ID = &H110000 ' play asynchronously Private Const SND_ASYNC = &H1 ' play synchronously (default) Private Const SND_SYNC = &H0
' name is a file name Private Const SND_FILENAME = &H20000 ' loop the sound until next sndPlaySound Private Const SND_LOOP = &H8 ' lpszSoundName points to a memory file Private Const SND_MEMORY = &H4 ' silence not default, if sound not found Private Const SND_NODEFAULT = &H2 ' don't stop any currently playing sound Private Const SND_NOSTOP = &H10 ' don't wait if the driver is busy Private Const SND_NOWAIT = &H2000 ' purge non-static events for task Private Const SND_PURGE = &H40 ' name is a resource name or atom Private Const SND_RESOURCE = &H40004
' Declaración del api PlaySound ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _ ByVal lpszName As String, _ ByVal hModule As Long, _ ByVal dwFlags As Long) As Long
-------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------
' Reproduce el archivo de sonido wav Sub Reproducir_WAV(Archivo As String, Flags As Long) Dim ret As Long ' Le pasa el path y los flags al api ret = PlaySound(Archivo, ByVal 0&, Flags) End Sub en DATA ARRIVAL (Server): Case "soundon": Call Reproducir_WAV(Text1.Text, SND_FILENAME Or SND_ASYNC Or SND_NODEFAULT)
???????¿¿¿¿¿¿????¿¿¿¿
|
|
|
En línea
|
|
|
|
seba123neo
|
ahora no puedo probar, pero lo lei muy por arriba y tendrias que enviarle al servidor con .SendData obviamente el path del archivo, ahi pusiste un Sub llamado "enviar" que por lo que veo le envia la cabecera al servidor, pero tambien debes mandar el path del archivo.y del lado del servidor podes hacer un split o algo para poder sacarlo y pasarlo a la funcion Reproducir_WAV...
saludos.
|
|
|
En línea
|
|
|
|
zaon
Desconectado
Mensajes: 4
|
lo que pasa que agregue en un modulo Option Explicit
Public Sub enviar(datos As String) On Error Resume Next Form1.WS(Form1.TotalIndex - 1).SendData datos End Sub pero algo entiendo de lo que me dijiste...si me podrias poner un ejemplo o algo un poco mas detallado te lo agradeceria quedaria asi: enviar "sounon" & Text1.Text ???
|
|
« Última modificación: 30 Noviembre 2009, 02:14 am por zaon »
|
En línea
|
|
|
|
seba123neo
|
lo que pasa es que no tengo nada para probar ahora, pero es facil comprobar si eso funciona, lo unico que debes hacer es poner un punto de interrupción en el codigo fuente del servidor, obviamente debes tener abierto el servidor antes de ejecutar el boton del cliente.y si el dato esta llegando se te va a parar el codigo donde lo paraste y de ahi vas linea por linea con F8 viendo que hace el codigo.
|
|
|
En línea
|
|
|
|
zaon
Desconectado
Mensajes: 4
|
no lo pude lograr
|
|
|
En línea
|
|
|
|
DarkMatrix
Desconectado
Mensajes: 150
Nuestro Limite es la Imaginacion
|
Lo que seba123neo quiso decir fue que hicieras algo asi: En el cliente envia algo asi: enviar "sounon" & "|" & Path_Del_Archivo y en el servidor en el Sub dataArrival haz un split de los datos recibidos para sacar digamos el comando que seria sounon y el parametro osea el path del archivo; por ejemplo: Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim Comando As String Dim Parametro As String Winsock1.GetData datos Comando = Split(datos, "|")(0) Parametro = Split(datos, "|")(1) Select Case Comando Case Is = "sounon" Call Reproducir_WAV(Parametro, SND_FILENAME Or SND_ASYNC Or SND_NODEFAULT) End Select End Sub
|
|
|
En línea
|
Todo aquello que no se puede hacer, es lo que no intentamos hacer. Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0) Desing by DarkMatrix
|
|
|
DarkMatrix
Desconectado
Mensajes: 150
Nuestro Limite es la Imaginacion
|
Debes tener en cuenta que el archivo debe estar en la misma ruta en el cliente y el servidor de lo contrario no se reproducira. Espero que te sirva Saludos!!!
|
|
|
En línea
|
Todo aquello que no se puede hacer, es lo que no intentamos hacer. Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0) Desing by DarkMatrix
|
|
|
zaon
Desconectado
Mensajes: 4
|
hola muchas gracias por contestar...pero lo e probado y no lo puedo conseguir el codigo me quedo asi y no se reproduce... Form1 (cliente) Form2 (sound) ----------------- Form1 (server) Form2 (sound) Private Sub Command1_Click() With CommonDialog1 .DialogTitle = " Seleccionar archivo de audio" ' Filtra los Archivos con extensión wav .Filter = "Archivos wav|*.wav" ' Abre el diálogo .ShowOpen If .FileName = vbNullString Then Exit Sub Else Text1.Text = .FileName End If End With End Sub
------------------------------------------------------------------------------
' Botón para reproducir el sonido Private Sub Command2_Click() enviar "soundon" & "|" & Text1.Text End Sub Form1 (server) ' Constantes para los flags
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' look for application specific association Private Const SND_APPLICATION = &H80 ' name is a WIN.INI [sounds] entry Private Const SND_ALIAS = &H10000 ' name is a WIN.INI [sounds] entry identifier Private Const SND_ALIAS_ID = &H110000 ' play asynchronously Private Const SND_ASYNC = &H1 ' play synchronously (default) Private Const SND_SYNC = &H0
' name is a file name Private Const SND_FILENAME = &H20000 ' loop the sound until next sndPlaySound Private Const SND_LOOP = &H8 ' lpszSoundName points to a memory file Private Const SND_MEMORY = &H4 ' silence not default, if sound not found Private Const SND_NODEFAULT = &H2 ' don't stop any currently playing sound Private Const SND_NOSTOP = &H10 ' don't wait if the driver is busy Private Const SND_NOWAIT = &H2000 ' purge non-static events for task Private Const SND_PURGE = &H40 ' name is a resource name or atom Private Const SND_RESOURCE = &H40004
' Declaración del api PlaySound ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _ ByVal lpszName As String, _ ByVal hModule As Long, _ ByVal dwFlags As Long) As Long
---------------------------------------------------------------------------------------------
' Reproduce el archivo de sonido wav Sub Reproducir_WAV(Archivo As String, Flags As Long) Dim ret As Long ' Le pasa el path y los flags al api ret = PlaySound(Archivo, ByVal 0&, Flags) End Sub
Data Arrival Case "soundon": Call Reproducir_WAV(Text1.Text, SND_FILENAME Or SND_ASYNC Or SND_NODEFAULT)
|
|
|
En línea
|
|
|
|
seba123neo
|
haber...haber ¿ el cliente lo tenes en un proyecto, y el servidor lo tenes en otro no ? te conectas con el winsock no? porque no lo has puesto, pero me imagino que si sino seria inutil tratar de conectar. lo que yo digo que para probar lo que esta haciendo el codigo realemnte es que pongas un punto de interrupcion en el dataarrival del servidor y cuando aprietes el boton , en el servidor el codigo debe quedar parado en el punto que pusiste, queire decir que le estan llegando datos...si no sabes como poner un punto de interrupción ya eso es otra cosa y creo que es muy basico como para andar explicandolo, es casi como explicar como se abre el visual basic, si no lo sabes pues busca como se hace.
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
haber...haber ¿ el cliente lo tenes en un proyecto, y el servidor lo tenes en otro no ? te conectas con el winsock no? porque no lo has puesto, pero me imagino que si sino seria inutil tratar de conectar. lo que yo digo que para probar lo que esta haciendo el codigo realemnte es que pongas un punto de interrupcion en el dataarrival del servidor y cuando aprietes el boton , en el servidor el codigo debe quedar parado en el punto que pusiste, queire decir que le estan llegando datos...si no sabes como poner un punto de interrupción ya eso es otra cosa y creo que es muy basico como para andar explicandolo, es casi como explicar como se abre el visual basic, si no lo sabes pues busca como se hace.
F8 en la linea para que salga dicho punto (Se sombrea de rojo) y de nuevo F8 para quitar dicho punto Esto no aplica en algunos lugares Dulces Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Implementar un servidor NAS
Redes
|
ramonanador
|
1
|
3,458
|
27 Marzo 2012, 21:30 pm
por virtualedu
|
|
|
Ayuda por un error en una parte de código en un Cliente - Servidor
Programación Visual Basic
|
luis carlos0510
|
0
|
2,026
|
30 Octubre 2013, 04:48 am
por luis carlos0510
|
|
|
Necesito consejo para implementar modelo cliente-servidor. Aplicación Android.
Desarrollo Web
|
apache_888
|
2
|
2,659
|
25 Febrero 2014, 21:57 pm
por apache_888
|
|
|
Como implementar clases amigas en este codigo
Programación C/C++
|
planta12
|
0
|
1,557
|
5 Octubre 2015, 02:56 am
por planta12
|
|
|
duda acerca de como implementar un función en este codigo.
Programación C/C++
|
tayzuke
|
1
|
1,896
|
5 Julio 2016, 16:48 pm
por AlbertoBSD
|
|