Retroceder   UASU Foros > Desarrollo (Guias, tutoriales y ayuda) > Programación

Respuesta
 
Herramientas Desplegado
Antiguo 12-nov-2008, 17:43   #1 (permalink)
FORERO UASU
 
Avatar de Luque
 
Ingreso: agosto-2008
Ubicación: desde casa
Mensajes: 357
Puntos: 29.070, Nivel: 25 Puntos: 29.070, Nivel: 25 Puntos: 29.070, Nivel: 25
Nivel máximo: 11% Nivel máximo: 11% Nivel máximo: 11%
Actividad: 14% Actividad: 14% Actividad: 14%
Poder: 252 Luque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la fama
Predeterminado [APORTE] Sistema de Audio MP3

Buenas les vengo a traer un codigo muy lindo,util y creo que no es dificil ah y sobre todo funcional.Espero que les sirva.


1 - Creamos Un Modulo de Clase Con el Nombre: clsMP3Player

2 - Adentro de este nuevo Modulo de clase agregamos este codigo:

Cita:
Option Explicit

Private mvarmp3file As String

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

Private Declare Function GetShortPathName Lib "Kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long

Dim mVolume As Integer

Public Sub pauseMP3()
mciSendString "pause audio1", 0, 0, 0
End Sub

Public Sub playMP3()
Dim rtn As Long
Dim filename As String
Dim lngRes As Long, strPath As String

strPath = String$(165, 0) 'Create a buffer
lngRes = GetShortPathName(mvarmp3file, strPath, 164)
filename = Trim(Left$(strPath, lngRes))

rtn = mciSendString("Open " & filename & " Alias audio1", 0&, 0, 0)
rtn = mciSendString("play audio1", 0&, 0, 0)

End Sub

Public Sub stopMP3()
Dim rtn As Long

rtn = mciSendString("stop audio1", 0&, 0, 0)
rtn = mciSendString("close audio1", 0&, 0, 0)

End Sub

Public Property Let mp3file(ByVal vData As String)
mvarmp3file = vData
End Property

Public Property Get mp3file() As String
mp3file = mvarmp3file
End Property

Public Property Let Volume(ByVal nVolume As Integer)
mciSendString "setaudio audio1 volume to " & nVolume, "", 0, 0
mVolume = nVolume
End Property

Public Property Get Volume() As Integer
Volume = mVolume
End Property

'setaudio MP3 volume to " + NewVolume
Public Function Position(secs As Boolean) As String
'Returns the track's current position as "mm:ss".
'Returns tracks's current position in seconds if secs = True

Static P As String * 30
Dim sec As Integer
Dim mins As Integer

mciSendString "set audio1 Time Format milliseconds", "", 0, 0
mciSendString "status audio1 position", P, Len(P), 0
sec = Round(Val(Mid$(P, 1, Len(P))) / 1000)

If secs Then
Position = sec
Else
If sec < 60 Then Position = "0:" & Format(sec, "00")
If sec > 59 Then
mins = Int(sec / 60)
sec = sec - (mins * 60)
Position = Format(mins, "00") & ":" & Format(sec, "00")
End If
End If

End Function

Public Function TrackLength(secs As Boolean) As String
'Returns the track's length as "mm:ss".
'Returns tracks's length in seconds if secs = True

Static L As String * 30
Dim sec As Integer
Dim mins As Integer

mciSendString "set audio1 Time Format milliseconds", "", 0, 0
mciSendString "status audio1 length", L, Len(L), 0

sec = Round(Val(Mid$(L, 1, Len(L))) / 1000)

If secs Then
TrackLength = sec
Else
If sec < 60 Then
TrackLenghth = "0:" & Format(sec, "00")
Else
mins = Int(sec / 60)
sec = sec - (mins * 60)
TrackLength = Format(mins, "00") & ":" & Format(sec, "00")
End If
End If

End Function

Public Function IsItPlaying() As Boolean
'Returns true if the file is playing. False otherwise.

Static yn As String * 30

mciSendString "status audio1 mode", yn, Len(yn), 0
IsItPlaying = (Mid$(yn, 1, 7) = "playing")

End Function

3 - Buscamos:

Cita:
Public bLluvia() As Byte
Abajo Agregamos:

Cita:
Public MP3P As clsMP3Player

4 - Para terminar creas un modulo con el nombre: Mod_MP3

y adentro de este ponemos:

Cita:
Option Explicit

Public Const SND_SYNC = &H0 ' SINCRONO
Public Const SND_ASYNC = &H1 ' ASINCRONO
Public Const SND_NODEFAULT = &H2 ' silence not default, if sound not found
Public Const SND_LOOP = &H8 ' loop the sound until next sndPlaySound
Public Const SND_NOSTOP = &H10 ' don't stop any currently playing sound

Dim CSTRM As New Collection
Public bBass As Boolean

Public Function InitializeBass()
' Check that BASS 1.0 was loaded
If BASS_GetStringVersion <> "1.1" Then
LogError "Wrong BASS version number -> 1.1"
bBass = False
End If
' Initialize digital sound - default device, 44100hz, stereo, 16 bits
If BASS_Init(-1, 44100, BASS_DEVICE_LEAVEVOL, frmMain.hWnd) = BASSFALSE Then
LogError "Can't init sound system"
bBass = False
Exit Function
End If
' Start digital output
If BASS_Start = BASSFALSE Then
LogError "Can't start digital output"
bBass = False
Exit Function
End If

bBass = True
End Function

Public Function ShutDownBass()
If bBass Then
Dim iX As Integer
' Stop digital output
BASS_Stop
' Free the stream
For iX = 1 To CSTRM.Count
BASS_StreamFree CSTRM(iX)
Next iX
' Close digital sound system
BASS_Free
' Release HStream collection
Set CSTRM = Nothing
End If
End Function

Public Sub LoadSounds()
If bBass Then
Dim iX As Integer
Dim StreamHandle As Long
frmCargando.MP3Files.Pattern = "*.mp3"
frmCargando.MP3Files.Path = DirSound

'Load MP3s
For iX = 0 To frmCargando.MP3Files.ListCount - 1
StreamHandle = BASS_StreamCreateFile(BASSFALSE, DirSound & frmCargando.MP3Files.List(iX), 0, 0, 0)
If StreamHandle = 0 Then
LogError "Can't create stream: " & frmCargando.MP3Files.List(iX)
Else
Call CSTRM.Add(StreamHandle, frmCargando.MP3Files.List(iX))
End If
Next iX

'Load WAVs
frmCargando.MP3Files.Pattern = "*.wav"
For iX = 0 To frmCargando.MP3Files.ListCount - 1
StreamHandle = BASS_StreamCreateFile(BASSFALSE, DirSound & frmCargando.MP3Files.List(iX), 0, 0, 0)
If StreamHandle = 0 Then
LogError "Can't create stream: " & frmCargando.MP3Files.List(iX)
Else
Call CSTRM.Add(StreamHandle, frmCargando.MP3Files.List(iX))
End If
Next iX
End If
End Sub

Public Function PlaySound(sFile As String, Optional bLoop As Boolean)
If bBass And Fx = 0 Then
'Play stream, not flushed
If bLoop Then
If BASS_ChannelIsActive(CSTRM(sFile)) = BASSFALSE Then
If BASS_StreamPlay(CSTRM(sFile), BASSFALSE, BASS_SAMPLE_LOOP) = BASSFALSE Then _
LogError "Can't play stream: " & sFile
End If
Else
Call BASS_ChannelStop(CSTRM(sFile))
If BASS_StreamPlay(CSTRM(sFile), BASSFALSE, 0) = BASSFALSE Then _
LogError "Can't play stream: " & sFile
End If
End If
End Function

Public Function StopSound(sFile As String)
If bBass Then
' Stop the stream
If BASS_ChannelIsActive(CSTRM(sFile)) = BASSTRUE Then
Call BASS_ChannelStop(CSTRM(sFile))
End If
End If
End Function

¿Cómo Usarlo?

Facil:

Cita:
Set MP3P = New clsMP3Player
MP3P.mp3file = App.Path + "MP3musica.mp3"
MP3P.stopMP3
MP3P.playMP3
MP3P.Volume = 1000
Ahi tienen los controles basicos, para controlar la Musica
Fuente: GS-Zone
__________________

Última edición por Luque; 16-nov-2008 a las 00:54.
Luque está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Responder Citando
El siguiente usuario ha dado las gracias a Luque y considera util este tema:
Standelf (15-nov-2008)
Sponsored Links
Antiguo 12-nov-2008, 18:11   #2 (permalink)
FORERO UASU
 
Avatar de Blade
 
Ingreso: noviembre-2007
Mensajes: 207
Agradecimientos realizados: 9
Le han agradecido 2 veces en 2 Posts
Reportes: 0
Reportado 1 Vez en 1 Post
Poder: 45 Blade llegará a ser famoso muy prontoBlade llegará a ser famoso muy pronto
Predeterminado

¬¬ si lo armas armalo bien ¬¬
Blade está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Responder Citando
Antiguo 13-nov-2008, 19:20   #3 (permalink)
¿Todos me odian?
 
Avatar de Alkan
 
Ingreso: mayo-2008
Ubicación: En un lugar que nunca conocerás
Edad: 15
Mensajes: 309
Puntos: 19.200, Nivel: 18 Puntos: 19.200, Nivel: 18 Puntos: 19.200, Nivel: 18
Nivel máximo: 94% Nivel máximo: 94% Nivel máximo: 94%
Actividad: 12% Actividad: 12% Actividad: 12%
El usuario posee 1x Acceso Vip
Poder: 167 Alkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgulloso
Predeterminado

No entiendo..

1) lo sacaste de GSZ

2)Set MP3P = New clsMP3Player
MP3P.mp3file = App.Path + "\MP3\musica.mp3"
MP3P.playMP3

eso es lo qe tengo qe poner para andar el reproductor?
__________________

Alkan está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Responder Citando
Antiguo 13-nov-2008, 21:27   #4 (permalink)
FORERO UASU
 
Avatar de Luque
 
Ingreso: agosto-2008
Ubicación: desde casa
Mensajes: 357
Puntos: 29.070, Nivel: 25 Puntos: 29.070, Nivel: 25 Puntos: 29.070, Nivel: 25
Nivel máximo: 11% Nivel máximo: 11% Nivel máximo: 11%
Actividad: 14% Actividad: 14% Actividad: 14%
Poder: 252 Luque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la fama
Predeterminado

Mira lo saque de gs y para hacerlo funcionar lo vas regulando con esos controles
osea el volumen se lo vas subiendo y bajando depense de como quieras
__________________
Luque está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Responder Citando
Antiguo 15-nov-2008, 19:25   #5 (permalink)
FORERO UASU
 
Avatar de Blade
 
Ingreso: noviembre-2007
Mensajes: 207
Agradecimientos realizados: 9
Le han agradecido 2 veces en 2 Posts
Reportes: 0
Reportado 1 Vez en 1 Post
Poder: 45 Blade llegará a ser famoso muy prontoBlade llegará a ser famoso muy pronto
Predeterminado

Mira luqi, si keres que tu post sea agradecido, ponelo completo con formulario bien armado, con todo listo y ai te van a agradecer y no criticar...
Blade está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Responder Citando
Sponsored links
Antiguo 15-nov-2008, 23:34   #6 (permalink)
●Parra Fan
 
Avatar de Standelf
 
Ingreso: abril-2008
Ubicación: Atras tuyo
Edad: 15
Mensajes: 105
Puntos: 13.818, Nivel: 15 Puntos: 13.818, Nivel: 15 Puntos: 13.818, Nivel: 15
Nivel máximo: 16% Nivel máximo: 16% Nivel máximo: 16%
Actividad: 4% Actividad: 4% Actividad: 4%
El usuario posee 1x Acceso Vip
Poder: 109 Standelf is a splendid one to beholdStandelf is a splendid one to beholdStandelf is a splendid one to beholdStandelf is a splendid one to beholdStandelf is a splendid one to beholdStandelf is a splendid one to beholdStandelf is a splendid one to beholdStandelf is a splendid one to behold
Predeterminado

Primero no des bola, el aporte es muy bueno, si se sabe usar es muy util

Me gusta mucho que pongas la fuente ademas
Te dejo un gracias y repu

Cita:
Iniciado por Alkan Ver Mensaje
No entiendo..

1) lo sacaste de GSZ

2)Set MP3P = New clsMP3Player
MP3P.mp3file = App.Path + "MP3musica.mp3"
MP3P.playMP3

eso es lo qe tengo qe poner para andar el reproductor?
1-Que no se entiende de que lo saco de GS-Zone? hay algo de malo? :S

2->.< Vos tenes que poner por ejemplo cuando queiras musica:
Código:
Set MP3P = New clsMP3Player
MP3P.mp3file = App.Path + "MP3musica.mp3"
MP3P.playMP3
Por ejemplo, al iniciar podes poner eso, y te iicia con la musica MP3 que vos hayas puesto.


Cita:
Iniciado por Blade Ver Mensaje
Mira luqi, si keres que tu post sea agradecido, ponelo completo con formulario bien armado, con todo listo y ai te van a agradecer y no criticar...
El posteo sistema de audio mp3, No un sistema de Reproductor de MP3.
Personalmente creo que queda horrible un formulario para reproducir mp3, no combina para nada con la estetica del ao :S el sistema este esta para que desactives los MIDIS y actives los mp3, cosa que no es nada dificil.
__________________

[Solo Miembros registrados ven los enlaces. ]
Standelf está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Responder Citando
Antiguo 15-nov-2008, 23:36   #7 (permalink)
70% Programed
 
Avatar de Petin
 
Ingreso: junio-2008
Mensajes: 204
Puntos: 2.686, Nivel: 4 Puntos: 2.686, Nivel: 4 Puntos: 2.686, Nivel: 4
Nivel máximo: 84% Nivel máximo: 84% Nivel máximo: 84%
Actividad: 8% Actividad: 8% Actividad: 8%
Poder: 29 Petin está en el buen camino
Predeterminado

tas en todos los foros eze xD
Petin está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Responder Citando
Antiguo 16-nov-2008, 00:53   #8 (permalink)
FORERO UASU
 
Avatar de Luque
 
Ingreso: agosto-2008
Ubicación: desde casa
Mensajes: 357
Puntos: 29.070, Nivel: 25 Puntos: 29.070, Nivel: 25 Puntos: 29.070, Nivel: 25
Nivel máximo: 11% Nivel máximo: 11% Nivel máximo: 11%
Actividad: 14% Actividad: 14% Actividad: 14%
Poder: 252 Luque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la famaLuque tiene una reputación que sobrepasa la fama
Predeterminado

Gracias stan te considero como uno de los mejores programadores y la fuente ha que ponerla es regla de todo foro,aparte sino pones la fuente queda como que lo estas haciendo vs y tas tomando el merito de otra persona que fue la que verdaderamente hizo todo el trabajo
__________________
Luque está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Responder Citando
Antiguo 16-nov-2008, 20:48   #9 (permalink)
¿Todos me odian?
 
Avatar de Alkan
 
Ingreso: mayo-2008
Ubicación: En un lugar que nunca conocerás
Edad: 15
Mensajes: 309
Puntos: 19.200, Nivel: 18 Puntos: 19.200, Nivel: 18 Puntos: 19.200, Nivel: 18
Nivel máximo: 94% Nivel máximo: 94% Nivel máximo: 94%
Actividad: 12% Actividad: 12% Actividad: 12%
El usuario posee 1x Acceso Vip
Poder: 167 Alkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgullosoAlkan tiene mucho para estar orgulloso
Predeterminado

Me alegra que lo hayas puesto fuente

Y gracias standelf por la aclaración
__________________

Alkan está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Responder Citando
Antiguo 17-nov-2008, 11:50   #10 (permalink)
Deo
aomania
 
Avatar de Deo
 
Ingreso: marzo-2008
Edad: 17
Mensajes: 173
Puntos: 5.653, Nivel: 8 Puntos: 5.653, Nivel: 8 Puntos: 5.653, Nivel: 8
Nivel máximo: 23% Nivel máximo: 23% Nivel máximo: 23%
Actividad: 4% Actividad: 4% Actividad: 4%
Poder: 49 Deo tiene un aura espectacular a su alrededorDeo tiene un aura espectacular a su alrededorDeo tiene un aura espectacular a su alrededor
Predeterminado

Ese código lo subi yo en gs-zone...
De todas formas lo subi incompleto, solo para interfaces, habria que retocarlo para los mapas.
__________________


Editado por spam.
Deo está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Responder Citando
Respuesta

Marcadores

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
caritas están Activado
[IMG] está Activado
Código HTML está Desactivado
Trackbacks are Desactivado
Pingbacks are Desactivado
Refbacks are Desactivado
Ir al Foro