Bonjour,
J'ai une classe pour lire des avi avec vfw.h.
Je l'ai fait fonctionner avec Borland C++ Builder 6 et wxDevcpp.
Elle m'avait jamais pos� de probl�me.
J'arrive � la compiler sous VS 2005 en C++.NET. Mais, � l'ex�cution, la fonction "AVIFileOpen" me retourne l'erreur "REGDB_E_CLASSNOTREG" dont la msdn donne la d�finition suivante :
Je ce que j'ai compris � ceci, c'est qu'il manque l'info, dans la base de registre, pour qu'il puisse ouvrir l'avi. C'est bien �a ?According to the registry, the type of file specified in AVIFileOpen does not have a handler to process it.
Or, sur le m�me PC et avec la m�me classe j'arrive � ouvrir un AVI avec un exe compil� avec wxDevcpp par exemple. Pourquoi dans un cas y aurait l'info dans la base de registre et dans l'autre non ?
Par ailleurs j'utilise la fonction "AVIFileOpen" avec l'argument "pclsidHandler" �gal � NULL. Argument d�crit par la msdn :
J'en d�duis qu'il faut peut-�tre mettre un Handler non nul de fa�on � pr�ciser moi-m�me avec quoi ouvrir le avi.Pointer to a class identifier of the standard or custom handler you want to use. If the value is NULL, the system chooses a handler from the registry based on the file extension or the RIFF type specified in the file.
J'ai essay� pleins de trucs (ya pas bcp d'aide dessus) :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 CLSID z; z.Data1 = 0; z.Data2 = 4; z.Data3 = 0; *(z.Data4) = MKFOURCC('i', 'a', 'v', 's');Toujours la m�me erreur. Quelqu'un � une id�e ?
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 CLSID z; z.Data1 = 'i'; z.Data2 = 'a'; z.Data3 = 'v'; *(z.Data4) = 's';
Merci.
Flo.
PS : Sur mon PC (Win2000), j'ai "VLC Player", "Windows Media Player" et "DirectX9" (si �a peut aider)
Partager