2009-07-07 10 views
2

Je fais un exemple qui va exécuter des fichiers mp3 qui sont sélectionnés par l'utilisateur. I souhaitez calculer la durée de lecture du fichier (par exemple 00:05:32). Comment puis-je calculer le temps de jeu?calculer le temps de lecture d'un fichier .mp3

+0

ont un regard [ici] (http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=79) –

Répondre

2

Vous suggérez dans l'étiquette que vous faites cela en C#. Cette question traite de cette question:

Finding MP3 length in C#

Et il y a un code pour la lecture de l'en-tête de MP3 et d'extraire les informations pertinentes (comme la longueur) ici:

http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=79

+2

l'approche sur devhood est définitivement erronée car elle utilise la longueur du fichier pour calculer la durée. Ceci est incorrect car par exemple ajouter une pochette d'album au fichier mp3 augmente la longueur du fichier, mais cela n'affecte pas la durée. cette méthode échoue à ce stade et je ne le recommanderais pas. – aslisabanci

0

je crois que l'API Windows Media (ou api mélangeur Windows ou quelque chose, je ne me souviens pas du nom exact) a un moyen d'ouvrir et de lire des fichiers audio comme mp3 et peut-être prendre le temps de lui aussi. En prime, en utilisant cette API, vous pouvez ouvrir n'importe quel format audio qui fonctionnera dans Windows Media Player, par exemple, vous n'êtes pas limité aux mp3.

3

Pour bibliothèque Alvas.Audio voir le code ci-dessous

using (Mp3Reader mr = new Mp3Reader(File.OpenRead("len.mp3"))) 
    { 
     int durationMS = mr.GetDurationInMS(); 
     TimeSpan durationTS = TimeSpan.FromMilliseconds(durationMS); 
    } 
Questions connexes