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

Fermé
LeFast - 25 août 2021 à 14:07
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 25 août 2021 à 16:25
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 58801 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 janvier 2025 17 264
25 août 2021 à 14:54
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 jeudi 22 avril 2010 Statut Contributeur Dernière intervention 31 décembre 2024 697
25 août 2021 à 15:38
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
Merci je vais essayer
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 311
Modifié le 25 août 2021 à 16:02
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
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 jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
25 août 2021 à 16:25
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