Utiliser l'API AVIFileInfo (durée d'une vidéo).

Signaler
Messages postés
69
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
7 avril 2007
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
Bonjour,
Je souhaite récupérer la durée d'un fichier avi. Pour cela, j'ai vu que la fonction AVIFileInfo(int, AVIFILEINFO, int) pouvait m'aider.
Donc je programme ça avec notamment la structure AVIFILEINFO. Mais j'ai un souci avec le chaine de 64 char à la fin de cette structure. J'ai fait 2 cas :

- j'ai déclaré un string, avec une longueur de 64. Bon, ça plante (même avec le try), mais au moins je peux voir en debug qu'il a lu les données :
--> Message = La référence d'objet n'est pas définie à une instance d'un objet.

- Bon, en fait, cette chaine, sous c++, j'ai vu qu'on mettait du char[64]. OK, je fait ça, et ça plante aussi (et même là, apparemment, il renvoie plus aucune données) :
Message = Informations supplémentaires : Impossible de marshaler le champ szFileType du type AutoRun.AVIFILEINFO : ce type ne peut pas être marshalé comme un champ structuré.
szFileType ==> c'est mon char[64].

Quelqu'un à une idée pour utiliser cette fonction ou une autre à me proposer pour récupérer la durée d'une vidéo ??

Merci.

4 réponses

Messages postés
69
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
7 avril 2007
3
Bonjour,
J'ai trouvé autre chose qui marche.
Je lis la structure AVIMAINHEADER du fichier vidéo avec un binaryreader (à) partir de la position Seek(24, System.IO.SeekOrigin.Begin)), puis j'appelle l'api MulDiv avec les données de cet entête et j'obtiens la durée en seconde de la vidéo :

durée = MulDiv(header.dwMicroSecPerFrame, header.dwTotalFrames, 1000000);
Messages postés
87
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
4 mars 2010

Super

peux tu poster ton code stp ...

j'arrive pas a le refaire !!! Merci

merci d'avance
Vegeta
Messages postés
87
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
4 mars 2010

Sorry , moi c'est plutot des fichiers flash !

@+

Au faite
merci d'avance
Vegeta
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Ca date de y'a 6 ans.... franchement, t'as pas grande chance

<hr />
-Blog-
-Site Perso-