Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. Programmation
  3. Développement de logiciels
  4. C++
  5. [Aide] DirectShow : Vidéo dans le programme

[Aide] DirectShow : Vidéo dans le programme

Scheduled Pinned Locked Moved C++
6 Posts 3 Posters 4.9k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K
    K
    Karles
    wrote on last edited by
    #1

    <p>Bonjour,</p>
    <p> </p>
    <p>J'ai commencé à utiliser DirectShow (module vidéo de directx), mais un détail très important que je voudrais corriger apparait : mon programme ouvre une autre fenêtre et lis la vidéo dedans. Moi je souhaite que la vidéo se lise EN FOND du programme initial.</p>
    <p> </p>
    <p>Nous sommes dans le contexte d'une page de login pour un jeu, codé en C++. J'aimerais faire comme le login de league of legends, un fond animé (une vidéo dans mon cas).</p>
    <p> </p>
    <p>Voici mon code actuel :</p>
    <pre class="ipsCode prettyprint">
    void ....
    {
    [AUTRE CODE]
    //Système video-login
    IGraphBuilder* pGraph;
    IMediaControl* pMediaControl;
    IMediaEvent *pEvent;

    CoInitialize(NULL); 
    
    // Create the filter graph manager and query for interfaces. 
    CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&amp;pGraph);
    pGraph-&gt;QueryInterface(IID_IMediaControl, (void **)&amp;pMediaControl);
    pGraph-&gt;QueryInterface(IID_IMediaEvent, (void **)&amp;pEvent); 
    
    // Build the graph. 
    pGraph-&gt;RenderFile(L"C:\\test.avi", NULL); 
    pMediaControl-&gt;Run(); 
    long evCode;
    pEvent-&gt;WaitForCompletion(INFINITE, &amp;evCode); // Wait for completion. 
    
    // Clean up.
    pMediaControl-&gt;Release();
    pGraph-&gt;Release();
    CoUninitialize();
    

    }
    </pre>
    <p>Mais voila ma vidéo se lance bien mais dans une fenêtre à part...</p>
    <p> </p>
    <p>J'aimerais savoir si quelqu'un sait comment utiliser le fond de la fenêtre principale au lieu d'en créer une nouvelle.</p>
    <p> </p>
    <p>Merci d'avance et bonne soirée !</p>
    <p> </p>
    <p>Cordialement,</p>
    <p>Karles</p>

    1 Reply Last reply
    0
    • CyrionC
      CyrionC
      Cyrion
      wrote on last edited by
      #2

      <p>Peut-être que cette classe ou une des fonctions nécessite de passer le handle ou l'instance de ta fenêtre principal pour se lancer là dessus au lieu d'en créer une autre.(Simple supposition)</p>
      <p> </p>
      <p>Sinon, je jetterai un coup d'oeil à DirectShow en arrivant chez moi.</p>

      1 Reply Last reply
      0
      • AlexMogA
        AlexMogA
        AlexMog
        Modérateur spécialisé
        wrote on last edited by
        #3

        <p>D'après ton code (je ne connait pas cette lib, mais le nom des fonctions est équivoque) tu as l'air de lui demander de re-créer une fenêtre. Renvois un peu ton code et la doc, il doit y avoir un moyen de lancer le tout dans une fenêtre.</p>

        Multiplayer GameDev @ Unexpected
        

        Mon CV

        1 Reply Last reply
        0
        • AlexMogA
          AlexMogA
          AlexMog
          Modérateur spécialisé
          wrote on last edited by
          #4

          <p>D'après ton code (je ne connait pas cette lib, mais le nom des fonctions est équivoque) tu as l'air de lui demander de re-créer une fenêtre. Renvois un peu ton code et la doc, il doit y avoir un moyen de lancer le tout dans une fenêtre.</p>

          Multiplayer GameDev @ Unexpected
          

          Mon CV

          1 Reply Last reply
          0
          • K
            K
            Karles
            wrote on last edited by
            #5

            <p>Merci pour vos réponses.</p>
            <p> </p>
            <p>Mais si je poste c'est que je n'y arrive pas vraiment. J'ai lu des vieux cours, des doc etc.. j'ai pas vraiment trouvé concernant l'intégration dans le programme, puis j'ai fait des dizaines d'essais j'ai du recompiler 20x mini avec plusieurs combi différentes.</p>

            1 Reply Last reply
            0
            • CyrionC
              CyrionC
              Cyrion
              wrote on last edited by
              #6

              <p>Selon ce que j'ai lu sur MSDN, le deuxième paramètre de CoCreateInstance spécifie si l'instance va faire partie d'un ensemble ou non (Null = seul autre > Pointeur vers l'object de l'ensemble dont on veut le rattacher).</p>
              <p> </p>
              <blockquote class="ipsQuote" data-ipsquote=""><div>
              <p></p><em>pUnkOuter</em> [in]

              	<p>If <strong>NULL</strong>, indicates that the object is not being created as part of an aggregate. If non-<strong>NULL</strong>, pointer to the aggregate object's <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms680509(v=vs.85).aspx" rel="external nofollow"><strong>IUnknown</strong></a> interface (the controlling <strong>IUnknown</strong>).</p>
              

              </div></blockquote>
              <p></p><p>C'est ce que je crois, j’interprète peut-être mal. ._.</p>

              1 Reply Last reply
              0

              Hello! It looks like you're interested in this conversation, but you don't have an account yet.

              Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

              With your input, this post could be even better 💗

              Register Login
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              • Login

              • Login or register to search.
              Powered by NodeBB Contributors
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • World
              • Users
              • Groups