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

[Résolu]
Signaler
Messages postés
178
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
6 juillet 2009
-
Messages postés
178
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
6 juillet 2009
-
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

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
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#
*/
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
58
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
Messages postés
178
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
6 juillet 2009
4
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
Messages postés
178
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
6 juillet 2009
4
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