musica de fondo ( como los keygen ) vb 6.0 resuelto por N3FISTO

Iniciado por fulano_detal, 20 Junio 2010, 04:45 AM

0 Miembros y 2 Visitantes están viendo este tema.

fulano_detal

hola_____ lo que deseo es poner una musica de fondo en una aplicacion vb 6.0 .

halgo como los keygen, crack, etc...

E utilizado un codigo que llama un archivo de recurso.res.. el problema es que al utilizar call  se debe de esperar a que termine la musica para seguir al siguiente codec. "linea"

por lo tanto no se puede hacer nada en el momento que suena la music.. luego que termina, sigue a la siguientes lineas y se puede controlar otros botones del form..


claro lo que se desea es un codec en vb 6.0 que al ejecutar nuestro form, tenga la musica de fondo y se puede utilizar los demas comnados commandbutton de nuestra aplicacion sin que se afecte la reproduccion de la musica de fondo al = que la musica deve de ser llamada,abierta desde archivos de recursos.. para transportarla dentro del exe de nuestro proyecto ...


cualquier comentario es agradecido....

CitarA qui codigo comun que se encuentra de ejemplos en foros y tutos pero no funciona para lo que se desea
Citar

gregar al form1  : 3 command button, y un archivo de recuros .res \\ crear el archivo de recursos de un archivo.wav
Option Explicit
Private Declare Function sndPlaySound
Lib "winmm"
Alias "sndPlaySoundA" (_
lpszSoundName As Any,_
ByVal uFlags As Long) As Long

Const SND_MEMORY = &H4
Const SND_ASYNC = &H1

'Const SND_SYNC = &H1

Private Sub Command1_Click()

Dim Sonido1() As Byte

Sonido1 = LoadResData(101, "CUSTOM")
 'SYNC
Call sndPlaySound(Sonido1(0), SND_ASYNC Or SND_MEMORY)

End Sub

Private Sub Command2_Click()
Unload Me
End Sub

private sub cammand3_Click()
' cualquier codec
msgbox"ejemplo"
end sub


Citarcomo podran ver al ejecutar nuestro codec no podemos utilizar los demas comman button \\ Ya que la linea call no ha terminado ... este es el problema
Citarpor lo tanto no nos sirve para un keygen al que queramos poner musica de fondo

Cualquier persona que desee colaboraranos porfavor deje su comentario
gracias.. :D






n3fisto

Mira esto es lo que uso para hacer mis programas no afecta en nada aver si te ayuda en algo me avisas

Código (vb) [Seleccionar]

Option Explicit

Private Declare Function mciExecute _
Lib "winmm. Dll" ( _
ByVal lpstrCommand As String) As Long
Dim ret As Long, path As String 'Api para reproducir sonidos

Private Sub CargarSonido(Pat As String) ' Pat = ruta del archivo temporal
Dim myArray() As Byte
Dim myFile As Long
myArray = LoadResData(101, "CUSTOM") 'Carga el archivo de recursos
myFile = FreeFile
Open Pat For Binary Access Write As #myFile
Put #myFile, , myArray ' Escribe el archivo temporal
Close #myFile
End Sub

Private Sub Form_Load()
Call CargarSonido("c:\sonido. Mp3") ' Llama a la funcion q crea el archivo temporal
Call mciExecute("Play " & "c:\sonido. Mp3") ' Reproduce el archivo temporal
End Sub

Private Sub Form_Unload(Cancel As Integer)
mciExecute "Close All" 'Detiene la reproduccion
Kill "c:\sonido. Mp3" ' elimina el archivo temporal
End Sub

n3fisto

O talvez esta otra solucion mas sencilla, lo que puedes hacer como una alternativa mucho más simple que la que te di. Puedes insertar un control Windows Media Player, que lo encuentras en componentes. Tenés que ponerle la propiedad AutoStart = True y que te lo repita una vez, y cuando cargues el formulario va a empezar a reproducir el tema, si lo quieres reproducir ante un determinado evento pone el método Play y chau... Acordate de sacarle la propiedad Visible cosa que el usuario no vea el reproductor... Al nombre del archivo, podes en el Sub Main comprobar si existe, luego que el reproductor te tome con la propiedad Filename el nombre del archivo... Espero que te sirva y cualquier cosa me preguntas... lo hice la prueba en mi vb portable

fulano_detal

ok... muchas gracias el problema esta resuelto por " N3FISTO " muy sencillo la solucion .

bueno una recomendacion para los que copy el codigo y lo echen a andar en las siguientes lineas  corrijan para no tener error.. ojo vean que hay un espacio entre el puto.

Lib "winmm. Dll"   no dejen espacio   ...  seria a si       Lib "winmm.Dll" )
"c:\sonido. Mp3"   en todos verifiquen ....seria a si         "c:\sonido.Mp3"

bueno simplemente es porque en la pagina a si se cargo el codigo pero su funcionamiento es muy bueno ...  :D

Y otra recomendacion seria usar una direccion de usuario %UserData% para que funcione en usuario limitados.. recuerden que en usuarios limitados no se puede guardar un archivo en C:\...

bueno pero de ahí  todo funciona excelente.  lo que necesitamos para adornar nuestro keygen.. ;-)



fulano_detal

Otra duda ahora como podemos hacer que este archivo que reproducimos se este repitiendo cada vez que termine....?'' 

Call mciExecute("Play " & "c:\sonido. Mp3")     :P

Karcrack

#6
Cita de: fulano_detal en 20 Junio 2010, 10:09 AM
Otra duda ahora como podemos hacer que este archivo que reproducimos se este repitiendo cada vez que termine....?''
SND_LOOP
http://msdn.microsoft.com/en-us/library/dd798676%28VS.85%29.aspx

BlackZeroX

Cita de: fulano_detal en 20 Junio 2010, 10:09 AM
Otra duda ahora como podemos hacer que este archivo que reproducimos se este repitiendo cada vez que termine....?'' 

Call mciExecute("Play " & "c:\sonido. Mp3")     :P

Se debe asignar un Alias al media a reproducir, después con ese Alias debes estar obteniendo la posición o si este aun esta reproduciéndose, posiblemente con un timer o mejor aun captando los mensajes que produce el MCI en la aplicación.



http://foro.elhacker.net/programacion_visual_basic/modificacion_a_source_reproducir_medio_en_escritorioiexcl-t249322.0.html;msg1201454




http://foro.elhacker.net/programacion_visual_basic/mcicommandstring_dll_inframedia-t239623.0.html;msg1146874#msg1146874




http://foro.elhacker.net/programacion_visual_basic/seek_bar_para_reproductor_de_audio-t269239.0.html;msg1318242#msg1318242




Dulce Infierno Lunar!¡.
The Dark Shadow is my passion.

n3fisto

Bueno espero que te haya servido ..... y respecto a lo ultimo que indicas lee un poco amigo y veras que te ira bien .... ok


Cita de: BlackZeroX▓▓▒▒░░ en 20 Junio 2010, 20:34 PM
Cita de: fulano_detal en 20 Junio 2010, 10:09 AM
Otra duda ahora como podemos hacer que este archivo que reproducimos se este repitiendo cada vez que termine....?'' 

Call mciExecute("Play " & "c:\sonido. Mp3")     :P

Se debe asignar un Alias al media a reproducir, después con ese Alias debes estar obteniendo la posición o si este aun esta reproduciéndose, posiblemente con un timer o mejor aun captando los mensajes que produce el MCI en la aplicación.



http://foro.elhacker.net/programacion_visual_basic/modificacion_a_source_reproducir_medio_en_escritorioiexcl-t249322.0.html;msg1201454




http://foro.elhacker.net/programacion_visual_basic/mcicommandstring_dll_inframedia-t239623.0.html;msg1146874#msg1146874




http://foro.elhacker.net/programacion_visual_basic/seek_bar_para_reproductor_de_audio-t269239.0.html;msg1318242#msg1318242




Dulce Infierno Lunar!¡.

fulano_detal

Cita de: N3FISTO en 20 Junio 2010, 22:52 PM
Bueno espero que te haya servido ..... y respecto a lo ultimo que indicas lee un poco amigo y veras que te ira bien .... ok


Cita de: BlackZeroX▓▓▒▒░░ en 20 Junio 2010, 20:34 PM
Cita de: fulano_detal en 20 Junio 2010, 10:09 AM
Otra duda ahora como podemos hacer que este archivo que reproducimos se este repitiendo cada vez que termine....?'' 

Call mciExecute("Play " & "c:\sonido. Mp3")     :P

Se debe asignar un Alias al media a reproducir, después con ese Alias debes estar obteniendo la posición o si este aun esta reproduciéndose, posiblemente con un timer o mejor aun captando los mensajes que produce el MCI en la aplicación.



http://foro.elhacker.net/programacion_visual_basic/modificacion_a_source_reproducir_medio_en_escritorioiexcl-t249322.0.html;msg1201454




http://foro.elhacker.net/programacion_visual_basic/mcicommandstring_dll_inframedia-t239623.0.html;msg1146874#msg1146874




http://foro.elhacker.net/programacion_visual_basic/seek_bar_para_reproductor_de_audio-t269239.0.html;msg1318242#msg1318242




Dulce Infierno Lunar!¡.


Citarbueno e probado con diferentes maneras. pero no me puedes echar una mano aun no encuentro una forma simple para que se este Autorepitiendo Call mciExecute("Play " & "c:\sonido. Mp3")