Extraire le temps d'un fichier mp3 grâce à Excel

LeFast -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous.

Je suis débutant dans Power Query et je ne sais pas il est possible d'extraire le temps d'un fichier mp3; m4a et wma ? Dans le sens, avoir la durée d'un morceaux de musique.

Vaut-il utiliser du Vba en plus ?

Convertir le fichier mp3 en un autre format ?

Ou autre possibilité ?

Je suis entrain de faire du sur-place dans mes recherche.

Si quelqu'un peut m'éclaircir, même si c'est impossible, je lui en serai reconnaissant.

Cordialement Le Fast.
A voir également:

4 réponses

Raymond PENTIER Messages postés 58996 Date d'inscription   Statut Contributeur Dernière intervention   17 369
 
Bonjour LeFast.

Je ne connais pas PowerQuery, mais je serais très étonné qu'il soit capable de repérer l'heure de début et l'heure de fin, dans l'exécution d'un fichier son !
N'espère pas trop recevoir une réponse positive à ta demande.
0
fmq Messages postés 4991 Date d'inscription   Statut Contributeur Dernière intervention   703
 
chalut

je ne connais pas non plus Power Query
mais il doit pouvoir importer sans probleme les données d'un fichier texte

pour obtenir l'info utilises les outils ffmpeg
syntaxe:
ffprobe -v error -show_entries format=duration audio.mp3 >infos.txt

cia ciao

0
LeFast
 
Merci je vais essayer
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 315
 
Bonjour

Pour indiquer la durée d'une procédure (baptisée ici "ta_macro")

Sub ndique_duree()
Dim Start as single, Fin as single
Start = Timer
Call Ta_macro
fin = Timer
MsgBox Abs(fin - start)
End Sub


0
LeFast
 
Salut est ce que tu peux développer ton idée, s'il te plait ? Car je ne comprend pas trop
Cdt
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

en vba:


Option Explicit
'API Windows Multmedia à laquelle on envoit des commandes
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 Function DureeFichier(sFichier As String) As String
   'On crée un buffer de 128
   Dim sRetString As String * 128
   On Error Resume Next
   'on ferme fichier au cas où il serait ouvert
   mciSendString "close fichier", 0, 0, 0
   'on ouvre le fichier passé en paramètre
   mciSendString "open """ & sFichier & """ type MPEGVideo alias fichier", 0, 0, 0
   'on règle le format temporel sur milliseconde
   mciSendString "set fichier time format ms", 0, 0, 0
   'on récupère la durée du fichier dans le buffer
   mciSendString "status fichier length", sRetString, 128, 0
   'on passe cette durée à la fonction FormatTemps et on l'affecte à la valeur de notre fonction
   DureeFichier = FormatTemps(CDbl(Replace(sRetString, Chr(0), "") / 1000))
   'et enfin on ferme fichier
   mciSendString "close fichier", 0, 0, 0
End Function
'Fonction qui renvoie la durée formatée ainsi 00:00:00
Private Function FormatTemps(dTemps As Double) As String
   Dim lHeure As Long
   Dim lMinute As Long
   Dim lSeconde As Long
   Dim lTemps As Long
    lTemps = Round(dTemps)
   lHeure = Int(lTemps / 3600)
   lMinute = Int((lTemps - 3600 * lHeure) / 60)
   lSeconde = lTemps - 3600 * lHeure - 60 * lMinute
   FormatTemps = Format(lHeure, "00") & ":" & Format(lMinute, "00") & ":" & Format(lSeconde, "00")
End Function
Sub ouvrir()
Dim fichier As String
fichier = Application.GetOpenFilename _
        ("Tous les fichiers (*.*),*.*")
 MsgBox DureeFichier(fichier), vbInformation, "Durée musique"
End Sub



Voilà

0