begin process at 2010 02 09 20:12:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Multimédia

 > 

librairie video ( film )


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

librairie video ( film )

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ée 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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,195 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales