Aller directement au contenu
  • Catégories
  • Récent
  • Mots-clés
  • Populaire
  • Web
  • Utilisateurs
  • Groupes
Habillages
  • Clair
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Sombre
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Défaut (Aucun habillage)
  • Aucun habillage
Réduire
Melinyel

Melinyel

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

[Aide] DirectShow : Vidéo dans le programme

Planifié Épinglé Verrouillé Déplacé C++
6 Messages 3 Publieurs 4.9k Vues
  • Du plus ancien au plus récent
  • Du plus récent au plus ancien
  • Les plus votés
Répondre
  • Répondre à l'aide d'un nouveau sujet
Se connecter pour répondre
Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
  • K Hors-ligne
    K Hors-ligne
    Karles
    a écrit sur dernière édition par
    #1

    Bonjour,

    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.

    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).

    Voici mon code actuel :

    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 **)&pGraph);
    	pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
    	pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent); 
    
    	// Build the graph. 
    	pGraph->RenderFile(L"C:\\test.avi", NULL); 
    	pMediaControl->Run(); 
    	long evCode;
    	pEvent->WaitForCompletion(INFINITE, &evCode); // Wait for completion. 
    
    	// Clean up.
        pMediaControl->Release();
        pGraph->Release();
        CoUninitialize();
    }
    

    Mais voila ma vidéo se lance bien mais dans une fenêtre à part...

    J'aimerais savoir si quelqu'un sait comment utiliser le fond de la fenêtre principale au lieu d'en créer une nouvelle.

    Merci d'avance et bonne soirée !

    Cordialement,

    Karles

    1 réponse Dernière réponse
    0
    • CyrionC Hors-ligne
      CyrionC Hors-ligne
      Cyrion
      a écrit sur dernière édition par
      #2

      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)

      Sinon, je jetterai un coup d'oeil à DirectShow en arrivant chez moi.

      1 réponse Dernière réponse
      0
      • AlexMogA Hors-ligne
        AlexMogA Hors-ligne
        AlexMog
        Modérateur spécialisé
        a écrit sur dernière édition par
        #3

        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.

        Multiplayer GameDev @ Unexpected

        Mon CV

        1 réponse Dernière réponse
        0
        • AlexMogA Hors-ligne
          AlexMogA Hors-ligne
          AlexMog
          Modérateur spécialisé
          a écrit sur dernière édition par
          #4

          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.

          Multiplayer GameDev @ Unexpected

          Mon CV

          1 réponse Dernière réponse
          0
          • K Hors-ligne
            K Hors-ligne
            Karles
            a écrit sur dernière édition par
            #5

            Merci pour vos réponses.

            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.

            1 réponse Dernière réponse
            0
            • CyrionC Hors-ligne
              CyrionC Hors-ligne
              Cyrion
              a écrit sur dernière édition par
              #6

              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).

              pUnkOuter [in]

              If NULL, indicates that the object is not being created as part of an aggregate. If non-NULL, pointer to the aggregate object's IUnknown interface (the controlling IUnknown).

              C'est ce que je crois, j’interprète peut-être mal. ._.

              1 réponse Dernière réponse
              0

              Bonjour ! Vous semblez intéressé par cette conversation, mais vous n’avez pas encore de compte.

              Marre de refaire défiler les mêmes messages ? Créez un compte pour retrouver votre position, recevoir des notifications des nouvelles réponses, sauvegarder vos favoris et voter pour les messages que vous appréciez.

              Grâce à votre participation, ce message peut devenir encore meilleur 💗

              S'inscrire Se connecter
              Répondre
              • Répondre à l'aide d'un nouveau sujet
              Se connecter pour répondre
              • Du plus ancien au plus récent
              • Du plus récent au plus ancien
              • Les plus votés


              • Se connecter

              • Connectez-vous ou inscrivez-vous pour faire une recherche.
              Powered by NodeBB Contributors
              • Premier message
                Dernier message
              0
              • Catégories
              • Récent
              • Mots-clés
              • Populaire
              • Web
              • Utilisateurs
              • Groupes