Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Reproducir mp3 pero de una manera particular

Estas en el tema de Reproducir mp3 pero de una manera particular en el foro de Visual Basic clásico en Foros del Web. Hola mi duda es la siguiente: Tengo un check1, un label1, y agregue CommonDialog1. Cuando clickeo en el check1 se me abre el cuadro para ...
  #1 (permalink)  
Antiguo 08/06/2006, 00:20
 
Fecha de Ingreso: marzo-2006
Mensajes: 38
Antigüedad: 18 años, 1 mes
Puntos: 0
Reproducir mp3 pero de una manera particular

Hola mi duda es la siguiente:
Tengo un check1, un label1, y agregue CommonDialog1.
Cuando clickeo en el check1 se me abre el cuadro para buscar archivos, l configure solo para *.mp3 y *.wav. Y cuando busco el archivo lo clickeo y pone me guarda toda la direccion en el label1.
Aqui el codigo:
Private Sub Check1_Click()
CommonDialog1.ShowOpen
Label1.Caption = CommonDialog1.FileName
End Sub

Bueno ahora tengo un boton1 q lo q quiero q haga es q al clickearlo me ejecute ese mp3 o wav.

Codigo del boton:
Private Sub Command1_Click()
mciExcecute ("Play " & Label1.Caption)
End Sub

El problema surge q si agrego un mp3 el cual contenga espacios en blanco me tira error. Por ejemplo: C:\Aerosmith crazy.mp3 ESTO NO ANDARIA pero si seria C:\AerosmithCrazy.mp3 o C:\Aerosmith-Crazy.mp3 ESTO SI ANDARIA.
Como puedo solucionar el problema este sin modificar el archivo en su carpeta
  #2 (permalink)  
Antiguo 08/06/2006, 00:40
Avatar de marcos1979  
Fecha de Ingreso: abril-2004
Ubicación: 62º 06' 18" O / 33º 07' 47" S
Mensajes: 331
Antigüedad: 20 años
Puntos: 1
Convierte la ruta del archivo a ruta corta con esto
Declara:

Código:
Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" _
    (ByVal lpszLongPath As String, ByVal lpszShortPath As String, _
    ByVal cchBuffer As Long) As Long

Private Function LongToShort(ByVal s_LongPath As String) As String

    Dim sBuf As String * 260
    Dim i As Long
    
    i = GetShortPathName(s_LongPath, sBuf, Len(sBuf))
    LongToShort = Left$(sBuf, i)

End Function
Para usarla:

mciExecute "Play " & LongToShort(Label1.Caption)

mciExecute "Stop " & LongToShort(Label1.Caption)

Un saludo
__________________
Marcos

El dinero no da la felicidad... démelo y sea feliz!!!
  #3 (permalink)  
Antiguo 09/06/2006, 11:34
 
Fecha de Ingreso: marzo-2006
Mensajes: 38
Antigüedad: 18 años, 1 mes
Puntos: 0
Gracias ya lo adapte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:00.