Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : librairie video ( film ) [ Archives / Multimédia ] (patemino)

samedi 9 octobre 2004 à 16:31:23 | librairie video ( film )

patemino

Bonjour,
Je cherche une librairie qui reconnait et lit différents formats video !

Quelqu'un en a déjà utilisé une ?

Compatible C++ plse

PATEMINO
http://polycoding.no-ip.info

vendredi 25 mars 2005 à 08:07:31 | Re : librairie video ( film )

frdestroyers27

Salut!
tu peux faire ca avec directshow
voici ce qui peux te mettre sur la voie
tu doit inclure dans ton projet quartz.lib et strmiids.lib (en faisant add to project...)
tu doit aussi faire un #include<dshow.h> t'assurrer que les repertoire d'include du sdk de directx soit setter dans ton compilateur
ensuite dans ton fichier t'a besoin de:
 IGraphBuilder *pGraph;
 IMediaControl *pControl;
 IMediaEventEx   *pEvent;
 IBasicAudio   *pBasicAudio;
 IMediaSeeking *pMediaSeek;
 IMediaPosition *pMediaPos;
 IVideoWindow *pVidWin;
HRESULT hr;
CoInitialize(NULL);

///ici wFile est de type WCHAR c'est la string qui contient le path et le nom de ton fichier///
hr=pGraph->RenderFile(wFile,NULL);
  if(FAILED(hr))
  {//si erreur//
   //g_hWindowHandle etant le handle de ta fenetre type HWND///
   MessageBox(g_hWindowHandle,"Impossible de faire le renderfile","Erreur!",MB_OK|MB_ICONERROR);


      //ensuite ont doit aquerir les interface//
     //noter que lorsque l'ont detruit directshow les element sont detruit dans l'ordre inverse ou ils sont creer!///

HRESULT hr;
 //Aquerir IMediaControl au filtergraph//
 hr=pGraph->QueryInterface(IID_IMediaControl,(void**)&pControl);
 if(FAILED(hr))
 {
  MessageBox(g_hWindowHandle,"Ne peut Aquerir le IMediaComtrol","Erreur!",MB_OK|MB_ICONERROR);
  pGraph->Release();
  pGraph=NULL;
  CoUninitialize();
  return FALSE;
 }
 

 //Aquerir IMediaEvent au filtergraph//
 hr=pGraph->QueryInterface(IID_IMediaEventEx,(void**)&pEvent);
 if(FAILED(hr))
 {
  MessageBox(g_hWindowHandle,"Ne peut Aquerir le IMediaEvent","Erreur!",MB_OK|MB_ICONERROR);
  pControl->Release();
  pGraph->Release();
  
  CoUninitialize();
  return FALSE;
 }
 //Aquerir IMediaSeeking //
 hr=pGraph->QueryInterface(IID_IMediaSeeking,(void**)&pMediaSeek);
 if(FAILED(hr))
 {
  MessageBox(g_hWindowHandle,"Ne peut Aquerir le IMediaSeek","Erreur!",MB_OK|MB_ICONERROR);
  pEvent->Release();
  pControl->Release();
  pGraph->Release();
  CoUninitialize();
  return FALSE;
 }
 //Aquerir IMediaPosition//
 hr=pGraph->QueryInterface(IID_IMediaPosition,(void**)&pMediaPos);
 if(FAILED(hr))
 {
  MessageBox(g_hWindowHandle,"Ne peut Aquerir le IMediaPosition","Erreur!",MB_OK|MB_ICONERROR);
  pMediaSeek->Release();
  pEvent->Release();
  pControl->Release();
  pGraph->Release();
  CoUninitialize();
  return FALSE;
 }
 //Aquerir IBasicAudio//
 hr=pGraph->QueryInterface(IID_IBasicAudio,(void**)&pBasicAudio);
 if(FAILED(hr))
 {
  MessageBox(g_hWindowHandle,"Ne peut Aquerir le IBasicAudio","Erreur!",MB_OK|MB_ICONERROR);
  pMediaPos->Release();
  pMediaSeek->Release();
  pEvent->Release();
  pControl->Release();
  pGraph->Release();
  CoUninitialize();
  return FALSE;
 }
 //Aquerir IVideoWindow//
 hr=pGraph->QueryInterface(IID_IVideoWindow,(void**)&pVidWin);
 if(FAILED(hr))
 {
  MessageBox(g_hWindowHandle,"Ne peut Aquerir le IVideoWindow","Erreur!",MB_OK|MB_ICONERROR);
  pBasicAudio->Release();
  pMediaPos->Release();
  pMediaSeek->Release();
  pEvent->Release();
  pControl->Release();
  pGraph->Release();
  CoUninitialize();
  return FALSE;
 }
 //ont set la fenetre qui recoit les message//
 pEvent->SetNotifyWindow((OAHWND)g_hWindowHandle, WM_GRAPHNOTIFY, 0);
 
 SetMuteVolume(MUTE_OFF);
 
  //ont set la fenetre parent//
   pVidWin->put_Owner((OAHWND)g_hWindowHandle);

   //ont set le style de la fenetre video//
   pVidWin->put_WindowStyle(WS_CHILD | WS_CLIPSIBLINGS| WS_CLIPCHILDREN|WS_VISIBLE);
   
   //ont set la position et la dimension de la fenetre ici 320/200 //
   pVidWin->SetWindowPosition(2,65,320,200);

   //ici ont met la videowindow en avant//
   pVidWin->SetWindowForeground(OATRUE);

hr=pControl->Run();

ca ressemble a qqchose comme ca! bon maintenant c sur que tu doit setter une fonction de traitement des message pour ta fenetre video et la ca joue automatique tu devra faire tes fonction stop pause play rewind ffwrd etc...
bonne chance!
Destroyers27




Cette discussion est classé dans : video, film, size, librairie


Répondre à ce message

Sujets en rapport avec ce message

Lire une video sous opengl [ par kenjimax ] Bonjour à tous !Est ce que quelqu'un connait une librairie (a l'image de fmod pour le son) capable de lire des videos et compatible openGL ?Je demande cv++6 utiliser une librairie en statique [ par oudkaramla ] salut,je suis sous vc++6, j'ai un programme qui utilise une librairie en statique. comment je peux indiquer au logiciel(vc++6) de prndre en compte la Comment installer la librairie GMP? [ par Kentoo ] Bonjour à tous!J'aimerais savoir Comment installer la librairie gmp? J'utilise dev-c++ et je suis sous windowspour ceux qui ne connaissent pas: http:/ tuer un processus [ par imanewin32 ] Slt je developpe une application MFC en visual c++,et j ai besoin dune fonction qui tue un processus connu par son nom !! Rapidité !! [ par ZogStriP ] Je voudrais savoir qu'est ce qui est plus rapide ?1) Une division d'un grand nombre par un plus petit2 )Ou une multiplication de deux nombre ???MerciZ téléchargement de librairie c++ [ par kaichien ] Bonjour à tous...Je voudrais pouvoir récupérer des librairie C++ mais j'y arrive pas, vfw.h m'interesse tout particulièrement.merci de vos réponses@+² comment passer un buffer en binaire avec avec readfile [ par youpiyoyo ] bon j'ai besoin ke mon buffer lu par readfile soit en binaire et unicodedonc j'ai essayé caif (ReadFile(hFile, lpBuffer, dwFileSize, &dwBytesRead, NUL librairie grands nombres ^ [ par coucou747 ] Je dévelope en ce moment une librairie qui me permetrais de gérer des nombres de 1024 bits..Je ne fais que du C... Voici la sctructure qui contiendra Problème copie de fichier.... [ par Clonk ] Bonjour,Je voudrais copier un fichier texte dans mon appli, j'ai fais la fonction suivante://Copie d'un fichier (création du backup)int copier(char * Convertir une heure au format LPCOLESTR [ par bigzooloo ] Bonjour,je travaille sur un programme de video surveillance avec DirectShow. Et je bloque sur un problème de date !J'aimerais récupérer l'heure couran


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,655 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.