none
Obtener duración archivo mp3 desde aplicación ACCESS RRS feed

  • Pregunta

  • Necesito obtener, mediante VB, desde una aplicación ACCESS, la duración de archivos mp3. He utilizado procedimientos y funciones que me facilitan el nombre, el año, etc. pero no la duración ni su extensión.
    • Cambiado Enrique M. Montejo viernes, 12 de junio de 2015 10:43 Pregunta relacionada con aplicación Access.
    jueves, 11 de junio de 2015 22:54

Todas las respuestas

  • Hola

    Mira a ver sí éste ejemplo te puede ayudar

    http://spreadsheetpage.com/index.php/file/mp3_file_lister/

    Salu2,


    José Mª Fueyo [MS MVP Access]

    viernes, 12 de junio de 2015 11:35
  • Hola!

    seguro que puedes adaptar este código

    '*******************************************************************************
    '* PropiedadesArchivo
    '* devuelve las propiedades del archivo pasado como parámetro
    '* Argumentos: strCarpeta => ruta completa del archivo
    '*             strArchivo => nombre del archivo
    '* uso: PropiedadesArchivo strCarpeta, strRuta
    '* http://www.mvp-access.es/emilio
    '* Si utilizas este código, respeta la autoría y los créditos
    '* ESH 14/10/08 20:44
    '*******************************************************************************
    
    Public Sub PropiedadesArchivo(strCarpeta As String, strArchivo As String)
    Dim WinShell As Object, _
        Carpeta As Object, _
        Archivo As Object, _
        i As Long
    
    On Error GoTo PropiedadesArchivo_TratamientoErrores
    
    If Not Right$(strCarpeta, 1) = "\" Then strCarpeta = strCarpeta & "\"
    Set WinShell = CreateObject("Shell.Application")
    Set Carpeta = WinShell.NameSpace(vbNullString & strCarpeta & vbNullString)
    
    Set Archivo = Carpeta.ParseName(strArchivo)
    If ExisteArchivo(strArchivo, CStr(strCarpeta)) Then
       For i = -1 To 50
          Debug.Print i;
          Debug.Print Carpeta.GetDetailsOf(Carpeta.Items, i),
          Debug.Print Carpeta.GetDetailsOf(Archivo, i)
       Next i
    End If
    
    
    PropiedadesArchivo_Salir:
       Set WinShell = Nothing
       Set Carpeta = Nothing
       Set Archivo = Nothing
       On Error GoTo 0
       Exit Sub
       
    PropiedadesArchivo_TratamientoErrores:
       MsgBox "Error " & Err & " en proc.: PropiedadesArchivo de Módulo: mdlGeneral (" & Err.Description & ")", vbCritical + vbOKOnly, "ATENCION"
       Resume PropiedadesArchivo_Salir
    
    End Sub        ' PropiedadesArchivo


    Saludos a todos desde Huelva Emilio http://www.mvp-access.es/emilio/

    viernes, 12 de junio de 2015 16:28
  • Gracias, José María. He utilizado la aplicación Excel y funciona muy bien. Importo en una tabla Access la información que se genera en Excel y comparando la pareja: Nombre de canción-Intérprete con mi tabla de archivos mp3 traspaso a ésta la duración de la pieza musical. Antes debo adecuar la información obtenida ya que, en Excel, se genera un nombre de Intérprete, el que figura en las propiedades del archivo mp3, que no siempre coincide con el Intérprete que yo tengo asignado en mi tabla de Access. Como mi Nombre de canción contiene el Intérprete, extraigo de ésta el Nombre de la Canción y el Intérprete y tengo total coincidencia; salvo que en mi tabla de Access yo haya cometido errores, que los he cometido.

    Sólo un pequeño detalle: cuando la aplicación Excel está trabajando, a partir de unos pocos registros se bloquea (aparece No responde) pero sigue trabajando. La primera vez que la ejecuté la aborte. Después me arme de paciencia, pese al aparente bloqueo, y esperé. El resultado fue que presentó toda la información.

    Te reitero mi agradecimiento, porque estoy manejando unos 11000 registros y en el código que yo he generado en Access para reproducir de manera secuencial mi música, necesito la duración (utilizo el evento Al cronómetro y asigno un TimerInterval igual a la duración del archivo mp3 en milisegundos) 


    • Editado BlancoBanegas martes, 16 de junio de 2015 8:37 coregir nombre Acces por Access
    martes, 16 de junio de 2015 8:15
  • Gracias Emilio por el código que me facilitas. Lo he probado pero no he obtenido resultados porque, seguro, he cometido errores al implementarlo. Tenía que haber sido más explícito en el planteamiento de mi necesidad. Cosa que hago ahora, pidiéndote disculpas por la extensión.

    Tengo una aplicación con unos 11000 registros de música en mp3 y como a lo largo de mis 70 años he tenido siempre presente aquello de que "antes muerto que sencillo" me propuse reproducirla desde mis formularios, filtrados por Género y por Intérprete, para asegurarme de que el Nombre de la canción, el Intérprete y la Clasificación, son los que yo he asignado, no los que asignan los reproductores.

    Mi sentido lógico-matemático y mis conocimientos de Access son muy superiores a mis conocimientos de Visual Basic, por eso recurrí a reproducir las listas de mis formularios (formularios continuos) utilizando el desplazamiento por los registros, de manera secuencial y el evento: Al cronómetro, asignado un TimerInterval igual a la duración del registro mp3 seleccionado, en milisegundos. En ese momento es en el que necesito obtener la información de las duración del archivo, del cual poseo su dirección exacta en la carpeta contenedora y su nombre.

    De cualquier forma, te reitero mi agradecimiento.

    Saludos.

    martes, 16 de junio de 2015 8:34
  • Hola!

    Hombre, te diría que si como dices tus conocimientos de VBA son tan bajos, para esto sería preferible que utilices alguna de las muchas herramientas que existen para reproducir archivos mp3, Windows media, itunes, winamp, ...


    Saludos a todos desde Huelva Emilio http://www.mvp-access.es/emilio/

    martes, 16 de junio de 2015 16:13
  • aimp3, VLC...

    No he dicho que mis conocimientos de Visual Basic sean bajos y sí que antes muerto que sencillo.

    Saludos.

    martes, 16 de junio de 2015 22:57
  • Hola

    Podrías mirar el código que usar esa hoja, y adaptarlo directamente en tu aplicación. No es nada complicado.

    salu2,


    José Mª Fueyo [MS MVP Access]

    miércoles, 17 de junio de 2015 12:27
  • Entonces con lo que te hemos aportado ya tienes para empezar a trabajar.

    Saludos a todos desde Huelva Emilio http://www.mvp-access.es/emilio/

    miércoles, 17 de junio de 2015 16:11
  • OK, José María. Me pondré manos a la obra.

    Gracias, de nuevo.

    viernes, 19 de junio de 2015 8:23