durée d'un mp3

durée d'un mp3 - Programmation

Marsh Posté le 21-08-2001 à 19:27:05    

QQ un a t il un algo pour déterminer la durée d'un fichier à partir du fichier mp3 lui même (même pour les VBR) ?

Reply

Marsh Posté le 21-08-2001 à 19:27:05   

Reply

Marsh Posté le 21-08-2001 à 21:38:31    

Tu veux dire taille d'un mp3 // un WAVE
si oui alors un WAV est 12 fois + gros qu'un mp3 ???
 
si c'est pas la réponse que tu voulais, alors merci de préciser ta question


---------------
http://212.95.67.13/fla/pri.cgi?a= [...] 50&f=20&g=
Reply

Marsh Posté le 21-08-2001 à 22:46:26    

ben la durée pour moi c'est la durée en min,sec,frames

Reply

Marsh Posté le 22-08-2001 à 00:14:04    

Oui, mais la durée d'un fichier, c'est quoi pour toi ?


---------------
http://212.95.67.13/fla/pri.cgi?a= [...] 50&f=20&g=
Reply

Marsh Posté le 22-08-2001 à 07:09:11    

j'etais en train de taper les explications mais c'est trop long, file moi ton mail, ca sera plus simple :)

Reply

Marsh Posté le 22-08-2001 à 07:11:59    

arf, nan c'est bon je l'ai, par contre pour les vbr j'ai pas cherché. Tout ce que je sais vien de la : http://www.id3.org/mp3frame.html

Reply

Marsh Posté le 22-08-2001 à 08:52:26    

merci

Reply

Marsh Posté le 22-08-2001 à 09:37:45    

antibillou a écrit a écrit :

Oui, mais la durée d'un fichier, c'est quoi pour toi ?  




 
y a de ces questions bizarres.
fichier, dans ce cas mp3 = musique.
musique, ca a une certaine durée, c'est pas illimité (à moins que tu le joues en boucle :D)
durée d'une musique qui est dans un mp3, ca donne des chiffres, qui seraient par exemples heures minutes secondes.
 
 
pour en revenir au calcul, on est obligé de parcourir tout le mp3 alors ? enfin ça a l'avantage de fonctionner de la même manière pour le VBR que le CBR alors...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 22-08-2001 à 10:41:02    

Alors il y a la méthode simple et compliqué :

  • La compliqué tu scannes le fichier et à chaque frame tu additionnes le nombre de sample qu'elle contient et à la fin du divise par la fréquence d'échantillonage...
  • La simple : pour un CBR (mais t'as aucun moyen de le savoir à l'avance) tu détermines le bitrate, t'as la taille et tu fais l'opération qui va bien. Pour un VBR si t'as de la chance t'as la frame Xing au début et t'as la taille dedans, sinon faut scanner tout le fichier comme dans la méthode compliquée.


Bref la seule méthode fiable : la compliquée.

Reply

Marsh Posté le 22-08-2001 à 12:31:34    

ok, ça je le savais mais personne n'aurais un bout de code le faisant.
sinon je veux bien le faire mais bon ... ça prends pa mal de tps pour un truc qui sera accessoire dans mon soft ;-)

Reply

Marsh Posté le 22-08-2001 à 12:31:34   

Reply

Marsh Posté le 22-08-2001 à 12:39:02    

sinon solution plus simple tu utilise winamp par l'intermediaire de la base de registre et tu peux ainsi récupérer la durée...mais bon je sais po si c'est ca qui t'interesse
je vais rechercher le bout de code au cas où...

Reply

Marsh Posté le 22-08-2001 à 12:40:27    

Si, j'ai un truc en C++ que j'ai jamais fini (inspiré de mp3_check que tu peux trouver ailleurs, en C++).

Reply

Marsh Posté le 22-08-2001 à 12:43:13    

pourrais tu m'envoyer ton bout de code ?

Reply

Marsh Posté le 22-08-2001 à 13:28:06    

ok je te l'envoi sur ton mail

Reply

Marsh Posté le 22-08-2001 à 13:47:29    

pareil

Reply

Marsh Posté le 22-08-2001 à 15:32:48    

antibillou a écrit a écrit :

Tu veux dire taille d'un mp3 // un WAVE
si oui alors un WAV est 12 fois + gros qu'un mp3 ???
 
si c'est pas la réponse que tu voulais, alors merci de préciser ta question  




 
ben non, ça dépend du taux de compression

Reply

Marsh Posté le 22-08-2001 à 19:39:12    

merci les gars !

Reply

Marsh Posté le 23-08-2001 à 01:19:35    

Bien,
le plus propre, le plus pro, le moins "bidouille", le plus prescis, qui ne te demande aucun calcul  et qui te permettra une évolution simple et rapide de ton soft, c'est de lire le ID3 Tag du fichier MP3.
Le ID3 c'est des informations qui sont inscrites dans le fichier et que tu peux afficher par l'intermediaire de n'importe quel logiciel qui lit les MP3 (Winamp...)
Le ID3 contient,
- le nom de l'artiste  (si present)
- le nom du titre      (si present)
- le nom de l'album    (si present)
- etc....
- la frequence d'echantillonage (toujours)
- le nombre de frame            (toujours)
- LA DUREE                      (toujours)
- etc....
 
Tu peux donc toi aussi lire ces informations dans le fichier mp3.
C'est d'une simplicité enfantine.
Comment faire ?
1) télécharger la librairie officielle à www.id3.org (avec les sources GNU)
2) inserer la librairie dans ton projet
3) Utiliser les fonctions suivantes :
        ID3_Tag myTag;
        myTag.Link ( “something.mp3” );
 char *ID3_GetArtist (&myTag);
 char* ID3_GetAlbum (&myTag);
 char* ID3_GetTrack (&myTag);
 char* ID3_GetComment    (&myTag);
 char* ID3_GetGenre (&myTag);
 
et celle qui t'interesse :
        uint32 readSeconds( arguments que j'ai oublié...)
 
j'ecris un soft en ce moment qui utilise cette librairie. Elle est stable, propre, bien écrite, performante, c'est la meme qu'utilise Winamp et 90% des programmes qui lisent les fichiers mp3.

Reply

Marsh Posté le 23-08-2001 à 07:53:33    

dj>excuse moi mais tu t'écartes du sujet, c'est la durée d'une mp3 (minutes:secondes) que Kyle veut. D'ailleur cette valeur ne fait pas partit du TAG mais du MPEG_HEADER, qui est autre chose. j'ajouterais que leur solution pour les tags est affreuse : c'est pourtant simple d'utiliser une structure pour le tag et une fonction qui la remplie. Dans tout les cas, j'ai fait mes routines pour les tag + le header des mp3 (la durée donc) et je l'ai envoyé a Kyle. Ca devrait le faire, enfin j'espere.

Reply

Marsh Posté le 23-08-2001 à 08:58:17    

merci karlkox, je m'attaque à ton code aujoud'hui

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed