Connaître durée d'un fichier video et audio

Résolu
Neo020585 Messages postés 178 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 6 juillet 2009 - 24 mai 2006 à 19:41
Neo020585 Messages postés 178 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 6 juillet 2009 - 25 mai 2006 à 15:33
Bonjour tout le monde !


J'ai un problème :


J'aimerais, d'une manière simple et rapide, connaître la durée d'un fichier avi, mp3, mov, mpg, ...


J'ai entendu dire que cela était possible en récupérant les valeurs contenues dans l'entête du fichier.

Si quelqu'un a une solution à me proposer, je suis partant !


D'avance merci
Néo020585

La programmation, c'est l'art de découvrir

4 réponses

cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
25 mai 2006 à 12:31
Salut,

Essaie de regarder du côté de MediaInfo, notamment sa distribution "DLL". (si mes souvenirs sont bons un exemple C# est fournis)

/*
coq
MVP Visual C#
*/
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 60
25 mai 2006 à 09:42
Salut,
Je ne suis pas certain de ce que j'avance (d'autres viendront me corriger si nécessaire) mais je ne crois pas ce que ça soit possible de lire "génériquement" la durée d'un fichier.
Tout dépend le type de fichier, la méthode sera différente...

Ici, un exemple pour les fichiers avi qui utilise DirectX
Mp3 et Wav

VC# forever
=13319
0
Neo020585 Messages postés 178 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 6 juillet 2009 4
25 mai 2006 à 12:15
J'ai bien évidemment déjà chercher sur la toile des réponses, en vain !

Je te met donc le code d'erreur généré par Visual Studio 2005 lors de l'execution du code :

           Video v = new Video(filename, false);

            double duration = v.Duration;

            MessageBox.Show(duration.ToString());

(j'ai pensé à ajouter la dll en réference et à faire using Microsoft.DirectX.AudioVideoPlayback;)


Message d'erreur :

    La DLL
'C:\WINDOWS\assembly\GAC\Microsoft.DirectX\1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.dll'
tente une exécution managée dans le verrou du chargeur du système
d'exploitation. N'essayez pas d'exécuter du code managé dans une
fonction d'initialisation d'image ou DllMain, car cela risque
d'entraîner un blocage de l'application.


Le code ne fonctionne pas, et je ne vois pas pourquoi !
Néo020585

La programmation, c'est l'art de découvrir
0
Neo020585 Messages postés 178 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 6 juillet 2009 4
25 mai 2006 à 15:33
Je vous remercie vous 2 pour m'avoir aider dans ce problème.

La solution de coq fonctionne à peu près comme je le veux.


En effet, elle refuse de me donner la durée pour les fichier Quicktime (.mov), mais c pas très grave.

Elle fonctionne pour un bon paquet de fichier !


Merci encore

Néo020585

La programmation, c'est l'art de découvrir
0
Rejoignez-nous