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

Composants VCL Delphi Discussion :

Comment utiliser correctement l'ActiveX VLC ?


Sujet :

Composants VCL Delphi

  1. #1
    Membre habitué

    Inscrit en
    Février 2005
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 356
    Points : 175
    Points
    175
    Par défaut Comment utiliser correctement l'ActiveX VLC ?
    Bonjour à tous !

    Voila je souhaite utiliser l'ActiveX du lecteur multimedia VLC dans une application Delphi 6.

    J'ai installé la version (v1.1.10) complète de VLC avec l'ActiveX, puis j'ai installé l'ActiveX dans Delphi : pas de problème.

    J'ai donc essayé de créer une 1ère application en écrivant ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    type
      VLCPlayListMode = TOleEnum;
     
    Const
      VLCPlayListInsert      = $00000001;
      VLCPlayListReplace     = $00000002;
      VLCPlayListAppend      = $00000004;
      VLCPlayListGo          = $00000008;
      VLCPlayListCheckInsert = $00000010;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      VLCPlugin1.addTarget('C:\film.avi' ,null, VLCPlayListInsert, 0);
      VLCPlugin1.play;
    end;
    Lorsque je clique sur le bouton, le film se lance. Par contre lorsque je ferme l'application, la fenêtre se ferme mais elle reste en mémoire !

    Que dois-je faire ?

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 704
    Points : 25 571
    Points
    25 571
    Par défaut
    Citation Envoyé par pepito62 Voir le message
    reste en mémoire !
    Comment le sais-tu ?
    Un ActiveX est libéré lorsque l'on libère la fenêtre !
    Form1 est crée dans le DPR, elle est donc libéré y compris ses TOLEControl (je suppose que wrapper VLC généré en hérite)
    Est-ce que cela lance un VLC.exe invisible ? qui lui ne serait pas stoppé

    utilise Stop ? PlayListClear ... cela aidera peut-être !

  3. #3
    Membre habitué

    Inscrit en
    Février 2005
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 356
    Points : 175
    Points
    175
    Par défaut
    J'ai simplement déposé le composant sur ma form.

    Je sais qu'elle reste en mémoire car je vois toujours mon application dans le Gestionnaire des tâches.

    J'ai testé avec Stop et PlayListClear ou inversement et la fenêtre se freeze.

    Donc ça ne fonctionne toujours pas

  4. #4
    Membre habitué

    Inscrit en
    Février 2005
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 356
    Points : 175
    Points
    175
    Par défaut
    Je viens d'essayer sur un Win7 et Delphi XE, ça fait pareil.

    Idem en créant dynamiquement le composant TVLCPlugin.

    Étrange ! Quelqu'un a une astuce ?

  5. #5
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    il y a quelques années j'ai regardé les sources de VLC pour constater que l'ActiveX ne faisait qu'englober l'API C...laquelle API pouvait être utilisée directement sous Delphi.

    par contre ils ont tout changé par la suite et ça en fonctionnait plus, je ne sais pas où cela en est, mais il n'était pas très compliqué d'invoquer VLC par l'API C, d'ailleurs même vlc.exe n'est qu'une coquille vide, tout se passe dans une DLL dont le nom m'échappe

  6. #6
    Membre habitué

    Inscrit en
    Février 2005
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 356
    Points : 175
    Points
    175
    Par défaut
    Euh,

    Qu'est-ce que "l'API C" ? J'ai regardé le lien et je pense que tu voulais parlé de "l'API VLC", non ?

    Effectivement ça a l'air de mieux fonctionner que l'ActiveX.

    J'ai réussi tout de même à avoir des violations d'accès en utilisant leur programme de démo. Bref, je vais y regardé de plus près.

    Merci !!!

  7. #7
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par pepito62 Voir le message
    Euh,

    Qu'est-ce que "l'API C" ? J'ai regardé le lien et je pense que tu voulais parlé de "l'API VLC", non ?

    Effectivement ça a l'air de mieux fonctionner que l'ActiveX.

    J'ai réussi tout de même à avoir des violations d'accès en utilisant leur programme de démo. Bref, je vais y regardé de plus près.

    Merci !!!
    oui l'API VLC, mais c'est une API en C

    ceci dit c'est super mal documenté, et le lien Wiki de ma page ne fonctionne plus...je crois que tu ne peux pas faire l'économie d'une étude des sources, ceux de l'ActiveX notamment

    EDIT: ici peut-être

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 47
    Points : 29
    Points
    29
    Par défaut
    Bonjour, j'ai le même problème que vous avec VLC, comment avez-vous resolu le problème ?

    Merci

  9. #9
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par Poisson Rouge Voir le message
    Bonjour, j'ai le même problème que vous avec VLC, comment avez-vous resolu le problème ?

    Merci
    je n'utilise plus VLC en programmation ^^

    mon objectif de départ était de compléter TVInside pour afficher le flux vidéo...mais Free n'étant pas présent à la Réunion où je réside maintenant j'ai laissé tomber ce projet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 16/08/2007, 12h40
  2. Réponses: 1
    Dernier message: 21/02/2006, 18h13
  3. comment utiliser correctement les sessions?
    Par cladsam dans le forum Langage
    Réponses: 5
    Dernier message: 06/02/2006, 12h56
  4. [C#] Comment utiliser correctement Stream.Read ?
    Par ArChAnGe76 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 20/12/2005, 21h48
  5. Comment utiliser correctement le debugger de DevCPP
    Par Le Furet dans le forum Dev-C++
    Réponses: 2
    Dernier message: 29/09/2005, 10h56

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