Fonction en C qui revoit la duree d'un mp3

nat -  
 kevin -
je cherche a faire une fonction en C qui prend en parametre un chemin d'acces comme par exemple "/mp3/toto.mp3" et qui me retourne la duree de ce morceaux ( dans ce cas la duree de la musique toto) mais je sais pas du tout comment m'y prendre.
Est ce que quelqu'un a deja fait ca et saurait me dire comment m'y prendre?
J ai deja reussis a extraire les tags et j'ai une fonction qui me renvoit la taille du fichier mais je sais pas comment faire le reste
A voir également:

6 réponses

Hilikus
 
Tu as une fonction qui te renvoit la taille du fichier ?

alors trouve la taille d'une seconde de mp3. Une fois que t'as, tu plae ca dans une constante de ton programme et tu fais :

int duree_sec = taille_fichier / taille_seconde;
0
kevin
 
mais ya un pb, tu connais pas forcément l'echantillonage du morceau mp3, donc la taille/s
0
pouic
 
comme pour tous les types de fichiers, le type mp3 est defini et possede toute les infos en debut de fichier. Il faut donc que tu cherches de la doc descriptive du format mp3
0
nat
 
non c'est la que se pose mon probleme, je ne crois pas qu'il y ait d'info sur la compression donc je peux pas savoir si c'est du mono ou sterero, tu 128,256,512...kbps de meme pour le khz ...
0
tafiscobar Messages postés 1277 Date d'inscription   Statut Contributeur Dernière intervention   177
 
mais essaies de communiquer avec ton SE, et la il te donnera les info necessaires car, ce st ces infos que le SE utilise pour te donner la taille d'un fichier mp3 ma
tafiscobar
0

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

Posez votre question
tafiscobar Messages postés 1277 Date d'inscription   Statut Contributeur Dernière intervention   177
 
desole, je continue :
ce st les info dont t'as besoin qu'utilise par exemple winamp ou les autres pour lire un mp3, je suppose.en tout cas, win sait te les donner et il existe surement des api pour cela. Voila, tu sais q la technologie mp3, derive de celle de mpeg, et ds le msdn, il est dit N=1.8Mo/s.
tafiscobar
0
nat
 
c'est koi le SE ?

au fait je precise que je dois faire une fonction pour windows et une pour unix ... j'sais pas si c'est une bonne idee de passe par des api
0
kevin
 
SE = systeme d'exploitation = OS
0