IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Récupérer les infos sur un fichier audio


Sujet :

Windows

  1. #1
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut Récupérer les infos sur un fichier audio
    Bonjour à tous,

    je suis en train de faire un lecteur audio, mais je n'arrive pas à récupérer les infos des fichiers audios (auteur, titre, album) comme on peut le voir dans l'explorateur de WinXP. Je programme en Windev 7, mais je ne crois pas qu'il y ait de fonctions qui permettent cela, j'ai bien cherché.

    Ca m'énerve, il ne me manque plus que ça pour finir . Avez-vous une idée sur la chose?

  2. #2
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    je relance pour pas que mon message se retrouve en page 40 . Si vous pouviez me trouver ça, ça serait vraiment chouette!

    Merci d'avance

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    tu peux utiliser les API dédiées ( que je ne connais pas ).
    Trouvé sur ce site :
    "Une bibliothèque ou librairie de fonctions dénommée WINMM.DLL regroupe les API multimédia de Windows. Parmi ses fonctions, il y a l'API PlaySound permettant d'émettre n'importe quel son WAVE.
    "

    Dans le SDK, regarde à MCI.

    A+
    Laurent Dardenne

  4. #4
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    C'est quoi le SDK

  5. #5
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Le SDK Software Developement Kit , contient la doc des api de Windows.

    Téléchargement du SDK entier : http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

    Ou consultation en ligne

    http://www.msdn.microsoft.com
    http://msdn.microsoft.com/library

    Laurent Dardenne

  6. #6
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    A ma connaissance, sur un fichier MP3, les ID3Tag sont écrites sous forme de texte au début du fichier. Tu peux touours essayer de scruter le fichier et d'essayer de récupérer les données (il existe surement un méthode plus facile mais je ne la connais pas).

  7. #7
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    j'ai ouvert deux mp3 avec le bloc-notes
    Citation Envoyé par MP3 n°1
    ID3 vTFLT  /3TMED  (CD/DD)COMM  fre 13TIT2 # RAGE AGAINST THE MACHINE - Wake upTRCK  13TCON  (12)TALB  MatrixPRIV ' WM/MediaClassPrimaryID ¼}`Ñ#ãâK†¡H¤*(DPRIV ) WM/MediaClassSecondaryID PRIV  PeakValue ÿ PRIV  AverageLevel g TPE1
    BO Matrix
    Citation Envoyé par MP3 n°2
    ID3 vTRCK  12TFLT  /3TMED  (CD/DD)TIT2  RAMMSTEIN - Du hastCOMM  fre 12TALB  MatrixTPE1
    Donc c'est bon, il y a les infos... mais comment distinguer les paramètres? Le premier a 13 paramètres jusqu'au titre de l'album, le second en a huit... comment ça se fait?

    Mais en tous cas, merci bclar ! J'ai enfin une bonne piste! Et aussi merci aux autres de m'avoir répondu. Mais j'ai encore besoin d'aide (je sais, je suis chiant )

  8. #8
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    salut le délimiteur de paramétre semble être un Zéro.
    La fin de la zone de paramétre un double Zéro ?
    A+
    Laurent Dardenne
    PS
    Essaie de préciser, je pensais que tu parlais de CD dans ton premier MSG

  9. #9
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    Essaie de préciser, je pensais que tu parlais de CD dans ton premier MSG
    Je fais un lecteur audio avec et lecteur MP3, et lecteur CD. C'est pour les infos sur les MP que je bloque, parce que de toutes façons je ne crois pas qu'il y ait d'informations contenues dans le CD audio. Ce que j'ai fais, c'est que je laisse l'utilisateur enregistrer les titres du cd dans un liste, et j'enregistre la liste avec comme nom la taille du CD. Comme je ne pense pas qu'il y ait souvent des CD qui ont pile la même taille (en millisecondes), je repère la taille du CD à l'ouverture du prog, et j'ouvre le fichier correspondant. C'est de la bidouille (je pense) mais ça marche...
    salut le délimiteur de paramétre semble être un Zéro.
    La fin de la zone de paramétre un double Zéro ?
    euh.. par zéro tu veux parler des petits carrés? Tu veux dire que je pourrais séparerer les paramètres en analysant les zones séparées par des zéros? Mais même avec ça il me semble que les deux fichiers n'ont pas le même nombre de paramètres...

  10. #10
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    A ma connaissance (je n'ai jamais testé moi-même), les ID3TagV1 sont de taille fixe (d'où le nombre limité de caractères pour les informations) mais pour les ID3TagV2, la taille est variable. Les champs sont délimités par des caractères de contrôle (je ne les connais pas. Désolé...)

  11. #11
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    ca a l'air pas mal, mais j'ai du mal à comprendre...
    int Affecte(const CString nomFic);
    // relie un fichier mp3 à un object ID3
    C'est quoi ici "Int"? Moi il me semblait que c'était pour arrondir un nombre
    Et c'est aussi "ID3TagV1" , je vois pas ce que c'est. Et sur Google je vois pas grand chose...

    je pense que je vais rester sur la lecture du mp3 en mode texte ... alors j'attend votre aide pour distainguer les paramètres des fichiers

  12. #12
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par halleck
    int Affecte(const CString nomFic);
    C'est quoi ici "Int"?
    Une fonction qui renvoie un integer, une doc du C a tes cotés te faciliteras la tâche ou utilise 'autre chose' que Windev

    Citation Envoyé par halleck
    alors j'attend votre aide pour distainguer les paramètres des fichiers
    Aide toi le ciel t'aideras !
    A+
    Laurent Dardenne

  13. #13
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    Enfin, j'ai trouvé. Enfin... j'ai trouvé sur Internet comment faire

    C'est un peu long, mais voilà le code pour récupérer toutes les infos sur un MP3:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [edit]Comme le code du sujet en dessous est mieux, j'ai supprimé ce code un peu long. Envoyer moi un MP si vous voulez récuperez ce code en QBasic[/edit]
    Je n'ai pas essayé de le convertir pour l'instant mais il marche. C'est juste une SUB d'un programme plus grand, mais je crois que c'est ce code fonctionne sans le reste, j'ai tout lu et rien ne me semble utile dans les autres modules... mais si ça ne marche pas, dites le moi.

    La méthode est vieillote et compliquée, mais c'est tout vr que j'ai trouvé au bout de longues heures de recherche sur Internet, donc pour l'instant, jusqu'à ce quelqu'un nous donne autre chose, il faudra s'en contenter.

    Merci à tous pour votre aide, et à bientôt

    PS: je précise pour ceux qui voudraient ce servir de ce code, "file$", mais vous l'aure bien sûr deviné, est à remplacer par le fichier MP3. je n'ai pas testé pour d'autres fichers audio, mais ca ne devrait marcher QUE pour de MP3. Je pense qu'un copier/coller suffit pour le VB, puisque Bisual Basic conserve les langages antérieurs dont il est composé

  14. #14
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    La conversion a été finalement plus dure que prévue , et le code mache mal. Mais j'ai trouvé finalement ceci, qui est beaucoup plus clair et qui marche à coup sûr, en Windev. On voit au moins laà dedans comment sont lues les informations
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    // un fichier MP3 contient :
    // le genre, le titre et le compositeur du morceau
    
    sGenre		est une chaîne		//sgenre de la chanson
    sTitre		est une chaîne		//Titre de la chanson
    sArtiste	est une chaîne		//Artiste
    
    sValCaract	est un caractère	//récupère le caractère lu
    sBalise		est une chaîne		//Récupère la position de la balise TAG
    nCpt		est un entier 		//Compteur
    nValRet		est un entier		//Valeur de retour de recherche dans une chaîne
    nIdFic		est un entier		// identifiant du fichier ouvert
    
    
    //Ouverture du fichier son
    nIdFic=fOuvre(sNomFic,foLecture)
    
    // test de l'ouverture
    SI nIdFic=-1 ALORS
    	RETOUR
    FIN
    
    //On se positionne sur le 128ème caractère en partant de la fin du fichier MP3
    fPositionne(nIdFic,-128,fpFin)
    
    //Lecture des trois premiers caractères
    sBalise = fLit(nIdFic,3)
    
    
    //Si la balise est TAG, c'est un MP3
    SI sBalise ~= "TAG" ALORS
    
    	//***********************************************************************
    	//*******  On récupère et on affiche le titre du fichier son ************
    	//***********************************************************************
    	// 30 caractères qui suivent
    	POUR nCpt= 1 A 30
    		sValCaract = fLit(nIdFic,1)
    		//On supprime le caract(0) considéré comme fin de chaine
    		SI sValCaract=Caract(0) ALORS 
    			sValCaract=Caract(160)	//Caract(160) correspond à un espace
    		FIN
    		sTitre += sValCaract
    	FIN
    	
    	sTitre = SansEspace(sTitre)
    	
    	//Si aucun titre 
    	SI sTitre = EOT ALORS sTitre = "Unknown"
    	
    	//Affichage du titre
    	Lbl_Titre = sTitre
    	
    	
    	//***********************************************************************
    	//*******  On récupère et on affiche le nom de l'artiste     ************
    	//***********************************************************************
    	// 30 caractères qui suivent
    	POUR nCpt= 1 A 30	
    		sValCaract = fLit(nIdFic,1)
    		//On supprime le caract(0) considéré comme fin de chaine
    		SI sValCaract = Caract(0) ALORS 
    			sValCaract = Caract(160)	//Caract(160) correspond à un espace
    		FIN
    		sArtiste += sValCaract
    	FIN
    	
    	//Affichage du nom de l'artiste
    	Lbl_Artiste = sArtiste
    	
    	
    	//***********************************************************************
    	//*******  On récupère et on affiche le sgenre du fichier son   **********
    	//***********************************************************************
    	//On se positionne sur le 128ème caractère en partant de la fin du fichier MP3
    	fPositionne(nIdFic,-1,fpFin)
    	
    	//Lecture des trois premiers caractères
    	sValCaract = fLit(nIdFic,1)
    	
    	// recherche du genre
    	sgENRE =  sRenvoieGenre(sValCaract) 
    	
    	//Affichage du sgenre
    	Lbl_Genre =	sGenre
    
    SINON
    	//Affichage du nom du fichier
    	Lbl_Titre = fExtraitChemin(sNomFic,fFichier)
    	Lbl_Genre = "Inconnu"
    	Lbl_Artiste = "Inconnu"
    FIN
    	
    // fermeture du fichier
    fFerme(nIdFic)
    Mais avec tout ça, je n'arrive toujours pas à récuperer les infos sur un autre fichier audio (Wav, ou Wma)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 21
    Dernier message: 16/04/2008, 10h06
  2. Récupérer les données d'un fichier audio
    Par RangerLight dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/12/2007, 16h57
  3. Récupérer les infos sur le(s) disque(s) dur(s)
    Par dem dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 06/03/2006, 16h17
  4. Récupérer les infos d'un fichier .jpeg
    Par ArseNic dans le forum Multimédia
    Réponses: 3
    Dernier message: 05/10/2005, 15h08
  5. Réponses: 3
    Dernier message: 28/10/2004, 08h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo