Propriétés des fichiers flac en VBA

Scarbiet94 - 29 mai 2013 à 17:21
 Scarbiet94 - 4 juin 2013 à 23:13
Bonjour,

Je voudrais lire les propriétés des fichiers Flac, et éventuellement ape. J'ai essayé d'adapter une code qui donne ces informations pour les fichiers MP3 à partir de
GetDetailsOf dans ("Shell.Application") 
mais je n'obtiens qu'une partie des informations.

J'ai parcouru le forum et je n'arrive pas à trouver comment déterminer notamment la durée du fichier, l'auteur, la vitesse de transmission...

Toute aide est la bien venue !

8 réponses

Utilisateur anonyme
29 mai 2013 à 20:29
Bonjour,

Je n'ai jamais pris le temps de tester, mais il existe bien une dll qui est supposée faire cela : mediainfo. Même qu'elle (L'originale) peut être aussi utilisée à partir de l'Explorateur Windows (32 bits et 64 bits).

L'original
Le wrapper pour VB.net, Caiguisé et les autres langages .net
0
Bonjour,

Merci pour l'info, mais je débute en VBA (Excel), J'ai regardé les sources probablement en visual basic et je suis perdu. Je vais essayer de comprendre, mais c'est pas gagné. Si tu pouvais m'éclairer un peu plus...
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
30 mai 2013 à 02:17
Salut

Que sont les fichiers FLA ?
Moi, ça ne me dit rien.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
0
Utilisateur anonyme
30 mai 2013 à 02:33
Bonjour Jack

Apparemment FLA est l'extension des fichiers flacs. (Free Lossless Audio Codec) C'est un format de fichiers sonores compressés sans perte de qualité. Un fichier Flac serait 30% plus petit qu'un fichier WAV équivalent.

Ils en parlent aussi sur Wikipedia.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour

cmarcotte a raison, c'est un format de fichier sans perte de qualité que j'utilise pour digitaliser mes vinyles encore audibles. Le but est de lire les noms, la durée et le bitrate (vitesse de transmission) des fichiers pour les écrire dans des feuilles Excel.

Code trouvé sur le net (developpez.net)
Sub ListeProprietesFichier_getDetailsOf()
    'source:
    'http://www.microsoft.com/resources/documentation/windows/2000/server/
    'scriptguide/en-us/sas_fil_lunl.mspx
    'Nécessite d'activer la référence Microsoft Shell Controls and Automation

    Dim FSO As Object, oFichier As Object
    Dim objShell As Shell32.Shell
    Dim objFolder As Shell32.Folder
    Dim strFileName As Shell32.FolderItem
    Dim Chemin As String, NomFich As String
    Dim Fichier, Resultat As String
    Dim i As Byte
 
    Fichier = "D:\Excel\Doss\Rock Me.flac"
        Set FSO = CreateObject("Scripting.FileSystemObject")
    Set oFichier = FSO.GetFile(Fichier)
    Chemin = FSO.GetParentFolderName(oFichier)
    NomFich = FSO.GetFileName(oFichier)
    
 
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(Chemin)
    Set strFileName = objFolder.Items.Item(NomFich)
 
     For i = 0 To 34
        'Cet exemple n'affiche pas les propriétés vides
        If objFolder.GetDetailsOf(strFileName, i) <> "" Then
            Resultat = objFolder.GetDetailsOf(objFolder.Items, i)
            Chemin = objFolder.GetDetailsOf(strFileName, i)
            Range("A" & i + 1).Value = i
            Range("B" & i + 1).Value = Trim(Resultat)
            Range("C" & i + 1).Value = Trim(Chemin)
        End If
    Next
End Sub

Ca marche pour toutes les propriétés des fichiers MP3, mais partiellement pour les fichiers Flac
0
Utilisateur anonyme
30 mai 2013 à 20:10
Bonjour,

J'ai bien essayé d'utiliser mediainfo comme un contrôle, mais ni VB.net, ni VBA n'en veulent. Ce n'est pas un composant COM. Faudrait fouiller le SDK sur leur site, pour voir ce qu'ils en disent. Mais là, je n'ai pas le temps.

Tu peux toujours essayer le wrapper .net que je t'ai indiqué plus haut avec VB.net. Pour l'utiliser avec VBA, cela prend une certaine gymnastique. Je ne sais pas s'il est encore-là, mais, à un certain moment, il y avait un article de Éric Vernier sur MSDN.
0
Bonsoir,

Merci pour ton aide. Je vais tenter la "gymnastique", on verra bien.

A+
0
Bonjour,

Devant ce silence, je voudrais préciser, au cas où, que j'aimerais savoir par exemple comment accéder au données du "METADATA_BLOCK_PICTURE" dans l'article [ http://flac.sourceforge.net/format.html#metadata_block_vorbis_comment]] pour pouvoir me débrouiller.

J'ai bien trouvé un fichier source en c++ et en anglais, mais ça me dépasse...
0
Rejoignez-nous