IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Lire plusieurs vidéos sur une même form en même temps


Sujet :

C++Builder

  1. #1
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut Lire plusieurs vidéos sur une même form en même temps
    Bonjour à tous

    Je me pausais une question.
    Est-ce possible de lire plusieurs vidéos sur une même form en même temps.
    Je m'explique, je désirerais avoir plusieurs Panel à l'écran et dans chacun d'eux qu'une vidéo soit lue en boucle

    Et si cela est possible, Faut-il utiliser un object TMediaPlayer par vidéo ou pas ?

    Merci d'avance pour votre aide

  2. #2
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Personne ne peut m'aider ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    installe les controles activex videolan ( vlc ) et windowsmediaplayer

    Composant , importer des controles activex

    selectionne le bon windows mediaplayer

    où le nom de classes est TWindowsMediaPlayer

    clique sur installer

    installe dans un nouveau paquet

    une erreur surviendra

    rends toi dans le dossier imports de borland

    ouvre avec notepad WMPLib_OCX.h

    remplace // Interface d'OCX par défaut TCOMIWMPCore m_OCXIntf;
    par //blablabla...
    TypeTOTO m_OCXIntf;

    il manquait un retour chariot , recommences le tout et au moment où il te demande d ecraser , refuse pour conserver le .h modifier


    celà fait , rends toi dans activex de la palette , tu dois avoir un mediaplayer present ,places en trois sur la fiche

    et utilises çà sur on onclick d un bouton ou formcreate

    WindowsMediaPlayer1->URL="1.avi";
    WindowsMediaPlayer2->URL="2.avi";
    WindowsMediaPlayer3->URL="3.avi";

    places 3 petites video dans ton dossier où est sauvegardé le projet et nommes les 1.avi , 2.avi , 3.avi

    compile , normalement les 3 players lisent chacun leur video

    avec videolan c est pareil mais moins stable et je crois que tu ne peux pas mettre plusieurs activex sur la form


    bonne journée

  4. #4
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Merci beaucoup je vais regarder ca.

  5. #5
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Je n'arrive pas à installer le control ActivX
    Bulder plante.

    J'ai également des problèmes quand je lis une vidéo sur le net, ca plante au bou d'un moment. Cela peut venir de ça mais je ne sais pas comment résoudre mon problème.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    je te donnerai un coup de main mais pas avant mardi , je dois me preparer pour un entretien technique ( un test )

    ++

  7. #7
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Points : 785
    Points
    785
    Par défaut
    pas joué avec mais que te dit la doc à ce sujet ?
    Nul ne peut mieux connaitre la connaissance qu'elle-même.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    Salut

    Desolé pour le retard mais je bossais sec

    As tu resolu ton probleme ?

    Sinon on peut le faire sur msn

    Tiens moi au courant

    ++

  9. #9
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Citation Envoyé par cedni Voir le message
    installe les controles activex videolan ( vlc ) et windowsmediaplayer

    Composant , importer des controles activex

    selectionne le bon windows mediaplayer

    où le nom de classes est TWindowsMediaPlayer

    clique sur installer

    installe dans un nouveau paquet

    une erreur surviendra

    rends toi dans le dossier imports de borland

    ouvre avec notepad WMPLib_OCX.h

    remplace // Interface d'OCX par défaut TCOMIWMPCore m_OCXIntf;
    par //blablabla...
    TypeTOTO m_OCXIntf;

    il manquait un retour chariot , recommences le tout et au moment où il te demande d ecraser , refuse pour conserver le .h modifier


    celà fait , rends toi dans activex de la palette , tu dois avoir un mediaplayer present ,places en trois sur la fiche

    et utilises çà sur on onclick d un bouton ou formcreate

    WindowsMediaPlayer1->URL="1.avi";
    WindowsMediaPlayer2->URL="2.avi";
    WindowsMediaPlayer3->URL="3.avi";

    places 3 petites video dans ton dossier où est sauvegardé le projet et nommes les 1.avi , 2.avi , 3.avi

    compile , normalement les 3 players lisent chacun leur video

    avec videolan c est pareil mais moins stable et je crois que tu ne peux pas mettre plusieurs activex sur la form


    bonne journée
    J'ai donc enfin réussi à installer le Control Activex grâce au lien que tu m'a envoyé. Mais j'ai été obligé de désinstaller et réinstaller BDS car cela ne marchait pas non plus au début.

    Ensuite j'ai donc créé un Projet et poser sur ma fiche pour commencer un seul control ActiveX MediaPlayer auquel j'ai affecter l'url avec le chemin d'une vidéo.

    J'ai deux message d'erreur successif à l'exécution :

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    Ayant rencontré le même problème et les recherche sur google n'apportant aucune réponse j'ai du me résigner à en rechercher la cause moi même :

    Dans le cadre de mes études j'ai développé avec un collègue un logiciel permettant de faciliter le traitement d'image à l'aide de plugins. Certains se chargeant de l'acquisition des images, les suivants du traitement et les derniers de l'affichage. Hors nous utilisons directshow pour l'acquisition et directx pour l'affichage.

    En essayant de debugger (avec le debugger de VS. NET 2003) mon application chez moi le même message d'erreur apparaissait lorsque j'exécutais mon application. Hors à l'école tout fonctionnait pour le mieux.

    En consultant la console de debug de VS.Net je me suis aperçu que le dernier module qui était chargé avant la plantée était :

    C:\Program Files\Fichiers communs\Ahead\DSFilter\NeVideo.ax

    Ahead ? C'est l'entreprise qui a programmé le logiciel Nero pour graver les CD et DVD. Hors il semblerait que par défaut un de leur filtre est utilisé pour lire ou afficher la vidéo lorsque l'on utilise directx ou directshow.

    J'ai donc simplement renommé ce fichier afin qu'il utilise un autre "codec" et le tour est joué.

    Merci Ahead Software de nous rendre la vie facile !!!

    J'espère que ma réponse permettra d'autres utilisateurs de régler ce problème qui je l'avoue est plus que tordu !
    --------------------------------------------------------------------------------
    themadmax - Mar Juil 26, 2005 10:26

    --------------------------------------------------------------------------------
    Merci Merci...
    J'avais moi aussi une erreur lorsque je debugger mon application qui utilise un filtre perso DirectShow. L'application focntionner, mais en mode DEBUG j'avais l'erreur :
    "Debugger Detected - Please close it down and restart!
    Windows NT users : please note that having the WinIce/SoftIce service installed means that you are running a debugger!"
    En déenregistrant ActiveX :
    regsvr32.exe /u "C:\Program Files\Common Files\Ahead\DSFilter\NeVideo.ax"
    Le probleme a disparu, je precise aussi quand déinstallant Nero Burnning Room ce filtre n'est pas désintallé
    peut etre un debut de reponse

  11. #11
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Désolé de ma réponse tardive mais j'ai eu des gros soucis avec mon ordi, que j'ai toujours d'ailleurs.

    Je n'arrive toujours pas à lire de vidéo sur le net, ca plante.

    Par contre j'arrive bien grâce à ce que tu m’as envoyé Cedni à lire plusieurs vidéos sur la même form. Je t'en remercie.

    J'ai désenregister NeVideo.ax et ca marche super.

    Par contre cela m'amène d'autres questions

    Comment détecter si ce filtre est actif pour pouvoir le désactiver de façon transparente.

    Je sais que je peux déjà détecter l'existence du fichier mais ensuite ?

    Sinon concernant la lecture, est-ce que tu saurais comment faire pour forcer la lecture en boucle sur le MediaPlayer activeX

    Merci d'avance

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    tu testes l existence du fichier
    si oui ,
    regsvr32.exe /u "C:\Program Files\Common Files\Ahead\DSFilter\NeVideo.ax"
    sinon , rien

    voilà tout

    sur l evenement close de ta form
    pareil mais sans le /u

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    http://silkyroad.developpez.com/VBA/WindowsMediaPlayer/


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if (WindowsMediaPlayer1->status=="Stopped")
    {
     
     
    WindowsMediaPlayer1.URL = "1.avi";
    WindowsMediaPlayer1->controls->Play;
    //  ou    //   WindowsMediaPlayer1->controls->next;
     
    }

    ca doit etre pas loin

  14. #14
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Merci à toi

    J'avais fait quelques recherche de mon côté et j'ai trouver ca

    http://msdn2.microsoft.com/en-us/library/bb262911.aspx

    Ce qui me pose problème c'est que pour spécifier le Mode, le paramètre est de type wchar_t.

    J'ai essayer différentes lignes mais cela ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    wchar_t *Mode = new wchar_t();
    Mode = L"loop";
     
    MediaPlayer->settings->setMode(Mode, true);
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Variant Mode = "loop";
    MediaPlayer->settings->SetMode(Mode, true);
    Je suis en train d'essayer ta méthode.

  15. #15
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Ca ne change rien, mes vidéos se lise et s'arrête.

    Quelqu'un aurait-il déjà utilisé setMode et pourrait me dire comment faire

  16. #16
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 664
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 664
    Points : 6 966
    Points
    6 966
    Par défaut
    Et comme çà ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WindowsMediaPlayer->settings->setMode("loop", True);
    Avec Delphi, le code suivant fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WindowsMediaPlayer.settings.setMode('loop', True);
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  17. #17
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Tes deux lignes me donne des erreurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MediaPlayer->settings->setMode("loop", true);
    [C++ Erreur] Unit1.cpp(137): E2034 Impossible de convertir 'char *' en 'wchar_t *'
    [C++ Erreur] Unit1.cpp(137): E2342 Mauvaise correspondance de type dans le paramètre 'bstrMode' ('wchar_t *' désiré, 'char *' obtenu)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MediaPlayer->settings->setMode('loop', true);
    [C++ Avertissement] Unit1.cpp(137): W8098 Constante caractère multi-caractère
    [C++ Erreur] Unit1.cpp(137): E2034 Impossible de convertir 'unsigned int' en 'wchar_t *'
    [C++ Erreur] Unit1.cpp(137): E2342 Mauvaise correspondance de type dans le paramètre 'bstrMode' ('wchar_t *' désiré, 'unsigned int' obtenu)

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 190
    Points : 179
    Points
    179
    Par défaut
    Bonjour,

    Il faut que tu mettes un 'L' devant ta chaine de caractère pour la convertir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MediaPlayer->settings->setMode(L"loop", true);
    Cordialement,

    Benjamin

  19. #19
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Citation Envoyé par kurul1 Voir le message
    Merci à toi

    J'avais fait quelques recherche de mon côté et j'ai trouver ca

    http://msdn2.microsoft.com/en-us/library/bb262911.aspx

    Ce qui me pose problème c'est que pour spécifier le Mode, le paramètre est de type wchar_t.

    J'ai essayer différentes lignes mais cela ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    wchar_t *Mode = new wchar_t();
    Mode = L"loop";
     
    MediaPlayer->settings->setMode(Mode, true);
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Variant Mode = "loop";
    MediaPlayer->settings->SetMode(Mode, true);
    Je suis en train d'essayer ta méthode.
    Je l'ai déjà fait et ca ne marche pas

  20. #20
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Je désespère, j'ai essayé plusieurs chose sans résultats

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    wchar_t *Mode = new wchar_t();
    Mode = StringToWideChar("loop", Mode, AnsiString("loop").Length());
     
    MediaPlayer->settings->setMode(Mode, false);
    Ou

    [/code]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    wchar_t *Mode = PWideChar(WideString("loop"));
     
    MediaPlayer->settings->setMode(Mode, true);
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    BSTR Mode =  ::SysAllocString( L"loop");
     
    MediaPlayer->settings->setMode(Mode, true);
     
    ::SysFreeString(Mode);
    Mode = NULL;
    La vidéo ne se lit pas en boucle

Discussions similaires

  1. [2.x] [Form] Plusieurs formulaires sur une même entité
    Par flutz dans le forum Symfony
    Réponses: 1
    Dernier message: 15/09/2012, 23h24
  2. Plusieurs vidéos sur une meme page
    Par Greg32885 dans le forum Flash
    Réponses: 0
    Dernier message: 29/01/2008, 18h59
  3. Réponses: 4
    Dernier message: 07/05/2007, 21h20
  4. Affichage de plusieurs graphiques sur une même form
    Par redpulse dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 02/02/2007, 08h41
  5. [C#][SVG] Combinaison de plusieurs graphe sur une même page
    Par doudoustephane dans le forum ASP.NET
    Réponses: 2
    Dernier message: 22/11/2006, 09h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo