Quelle lib pour lire avi??

Résolu
Signaler
Messages postés
688
Date d'inscription
mercredi 6 avril 2005
Statut
Membre
Dernière intervention
2 juin 2006
-
Messages postés
688
Date d'inscription
mercredi 6 avril 2005
Statut
Membre
Dernière intervention
2 juin 2006
-
salut!

Je programme un tit player avi tout simple sous wxWIDGETS.
Quelle librairie utiliser pour lire les avi??
Une librairie simple et documentée sera la bienvenue.

merci
++

6 réponses

Messages postés
688
Date d'inscription
mercredi 6 avril 2005
Statut
Membre
Dernière intervention
2 juin 2006
1
ben en fait je crois que plutot que de me prendre la tete a utiliser ouat mille librairies je vais rester sous wxWIDGETS avec wxMediaCtrl.Apparramment ca permet de lire tt type de medias et pis ca m' permettra d'approfondir un peu cette lib.
allé merci kan meme mais directX est trés orienté win32 et je veux que mes sof-ts soient portables ( d'ou wxWIDGETS).

++
Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
14 août 2007

Salut,

Je ne sais pas de quel environnement de développement tu disposes, mais sous Microsoft Visual Studio 2003 .NET, tu peux utiliser le SDK fourni et tester l'exemple suivant :
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/htm/howtoplayafile.asp

Celui-ci fonctionne très bien. Par contre, prends soin de virer les en-têtes précompilés et de lier ton projet avec la librairie strmiids.lib, laquelle se situe dans VC7/PlatformSDK/Lib.

Ah ! oui, j'allais oublier : dans l'exemple de Microsoft, il faut rajouter un p'tit include :
#include <stdio.h>
parce que sinon les printf ne fonctionnent pas très bien.

Je n'ai pas eu le temps de tester avec un autre compilateur (du genre gcc sous Win32), mais je suppose qu'il doit y avoir moyen (à peu près certain qu'il existe une *.dll quelque part dans %SystemRoot%/System32/ exportant à peu de choses près des mêmes routines).

Tiens-moi au courant.

A plus tard.
Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
14 août 2007

Re-bonjour,

Sinon, pour tout ce qui est sous GNU/Linux, une librairie est très populaire sur le site de SourceForge : http://sourceforge.net/projects/avifile/
Messages postés
688
Date d'inscription
mercredi 6 avril 2005
Statut
Membre
Dernière intervention
2 juin 2006
1
mon environnement est wxdevcpp

donc sdk est une bonne solution?
Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
14 août 2007

Salut,

Bon, j'ai essayé (non pas sous wxDevCpp mais sous Dev-C++ tout simple) avec l'exemple fourni. C'est un peu le bordel, mais on fait par y arriver...

Il existe plusieurs solutions pour adapter le SDK de Microsoft à Dev-C++. Mais tu trouveras un paquet tout prêt pour réaliser ton application sous Dev-C++ (et consorts...). Il s'agit en fait de l'adaptation globale du SDK de Microsoft DirectX 9.0.

Dans l'exemple dont je te parlais (celui fourni sur le site de Microsoft), tu n'as en fait besoin que des fichiers d'en-têtes (en l'occurence, les dshow.h et tout le cirque). Tu devras par contre lier ton projet avec les librairies statiques suivantes :
- libuuid.a
- libole32.a
- libstrmiids.a

N'oublies pas de définir la macro ci-dessous quelque part :
#define __cplusplus
En fait, les objets COM paraissent difficiles à gérer en C simple : il faut donc mieux que ton projet soit en C++.

Au passage, j'ai eu quelques soucis de compilation avec l'exemple lors de l'utilisation des fichiers d'en-têtes du paquet. Tu devras sans doute faire quelques petites modifications dans ces fichiers *.h.

Plus simplement, répère uniquement les fonctions dont tu auras besoin et insère juste leur prototypes dans ton code : cela t'évitera de télécharger tout le cirque de DirectX, alors que tu n'as même pas besoin de ces librairies.

Bonne route et je reste à disposition si tu as besoin d'aide.
Messages postés
688
Date d'inscription
mercredi 6 avril 2005
Statut
Membre
Dernière intervention
2 juin 2006
1
bien , merci bien, je vais essayer ca.Je programme en c++.
merci.