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

bob94700
Messages postés
69
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
7 avril 2007
- 27 nov. 2003 à 23:02
cs_Bidou
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
- 29 avril 2009 à 20:57
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

bob94700
Messages postés
69
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
7 avril 2007
4
28 nov. 2003 à 10:39
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);
0
cs_bilal
Messages postés
87
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
4 mars 2010

29 avril 2009 à 20:02
Super

peux tu poster ton code stp ...

j'arrive pas a le refaire !!! Merci

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

29 avril 2009 à 20:05
Sorry , moi c'est plutot des fichiers flash !

@+

Au faite
merci d'avance
Vegeta
0
cs_Bidou
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
59
29 avril 2009 à 20:57
Ca date de y'a 6 ans.... franchement, t'as pas grande chance

<hr />
-Blog-
-Site Perso-
0