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 :

lecture d'un avi sur un panel : avi rebel !


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Par défaut lecture d'un avi sur un panel : avi rebel !
    Bonjour,
    en gros quand je double clic sur un filelistbox, je veux que le mdiaplayer1 le lise, si c'est un mp3 il n'y a pas d'affichage mais si c'est un avi par exemple, je veux qu'il le lise dans un panel4, mais si j'ai lu une autre video avant ou bien une musique avant, au lieu de s'afficher dans le pannel, elle s'affiche dans une autre fenetre oO bizard...

    au double clic sur le filelistbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void __fastcall TForm1::FileListBox1DblClick(TObject *Sender)
    {
        int i;
        for (int i = 0; i < FileListBox1->Items->Count; i++)
        {
             if (FileListBox1->Selected[i]) Position = i;
        }
        PlayFileList(); // lecture de la liste des fichiers dropés
    }
    la fonction playfile list :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    void __fastcall TForm1::PlayFileList()
    {
      int i;
      AnsiString MPError;
      TRect rec;
      rec.Left=0;
      rec.top=0;
      rec.Bottom=Panel4->Height;
      rec.right=Panel4->Width;
      for ( i = Position; i < FileListBox1->Items->Count; i++)
        {
          if (Position < FileListBox1->Items->Count )
          {
            MediaPlayer1->FileName = FileListBox1->Items->Strings[Position];
            MediaPlayer1->StartPos=0; //repositionne le départ de lecture à 0
            ScrollBar1->Position= 0;  // idem pour le curseur
            MediaPlayer1->Display = Panel4;
            try
              {
              MediaPlayer1->Open();
              MediaPlayer1->DisplayRect=rec;
              Timer1->Enabled=true;
              MediaPlayer1->Play();
              PlayLength();
              }
            catch (...)
            {
            MPError = "Error " + IntToStr(MediaPlayer1->Error) + ": " + MediaPlayer1->ErrorMessage;
            Application->MessageBox(MPError.c_str(),NULL, MB_OK);
            }
     
            StatusBar1->Panels->Items[0]->Text = FileListBox1->Items->Strings[Position];
            StatusBar1->Panels->Items[1]->Text = Position;
            // affichage index
           }
         }
    }
    PS: quand je passe d'une video a une musique, sur le pannel il y a toujours l'image, et que je lit une musique, je fais quand meme le display, ca vient peut etre de la je sais pas, et pour cleaner le panel4, je fais comment? pas de free...

    Des idées peut etre?

    en gros pour l'affichage dans le pannel il faut regarder ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    TRect rec;
    rec.Left=0;
    rec.top=0;
    rec.Bottom=Panel4->Height;
    rec.right=Panel4->Width;
    MediaPlayer1->FileName = FileListBox1->Items->Strings[Position];
    MediaPlayer1->Display = Panel4;
    MediaPlayer1->Open();
    MediaPlayer1->DisplayRect=rec;
    Timer1->Enabled=true;
    MediaPlayer1->Play();

  2. #2
    Membre éclairé Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Par défaut
    a défaut d'avoir une solution a mon probleme avez vous un lien pour faire un bon lecteur de video? un tuto ou autre...

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Par défaut
    Pour avoir besoin d'un delete il faut un new auparavant. Ce n'est pas le cas ici, donc pas besoin de delete.
    Par contre à l'opposé de Open(), il y a souvent Close().
    Un thread un peu court mais dont le sujet peu t'intéresser:
    http://www.developpez.net/forums/showthread.php?t=18150

    yarp
    www.senosoft.com

  4. #4
    Membre éclairé Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Par défaut
    ah ui je vois le truc hmmm

    et comment je pourrais faire pour trouver l'extension de mon fichier? genre .avi, .mp3 (s'achant que le filtre pour choisir le fichier, opendialog, rassemble tous ces fichiers)

  5. #5
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 100
    Par défaut
    tu as une fonction qui permet de savoir l'extention d'un fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extention = ExtractFileExt(Fichier);

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/01/2009, 15h55
  2. Réponses: 6
    Dernier message: 13/09/2007, 23h23
  3. Donnez votre avis sur les articles de Developpez.com
    Par Geronimo dans le forum C++Builder
    Réponses: 13
    Dernier message: 14/01/2007, 22h00
  4. Problem avec les *.AVI sur les panels
    Par NaDiA_SoFt dans le forum C++Builder
    Réponses: 3
    Dernier message: 31/08/2003, 22h50

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