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 :

barre d'avancement pour la lecture d'un mp3 : Pb onChange!


Sujet :

C++Builder

  1. #1
    Membre habitué 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
    Points : 188
    Points
    188
    Par défaut barre d'avancement pour la lecture d'un mp3 : Pb onChange!
    Bonjour

    j'essais de faire un petit lecteur mp3 pour commencer et quand je lit une musique, j'ai un probleme un peu embétant,
    - j'utilise un timer qui fait appel a la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void __fastcall TForm1::PlayPos(TObject *Sender)
    {
        // Définit le format de l'heure – remarquez que certains périphériques ne prennent pas en charge tfHMS
      MediaPlayer1->TimeFormat = tfMilliseconds;
      // Stocke la longueur du média chargé
      ThePos = MediaPlayer1->Position;
     
      TheLength = MediaPlayer1->Length;
      TrackBar1->Max = (((MediaPlayer1->Length)*100)/TheLength);
      TrackBar1->Position=((ThePos*100)/TheLength);
    }
    le probleme est que quand je veux bouger cette trackbar a la main, je fais appel au onchange, qui lui fait appel a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MediaPlayer1->Position = ( ((TrackBar1->Position)*MediaPlayer1->Length)/100);
    Quand je lance un mp3, le bare avance une fois puis fait appel au onchange, ce qui block tout...

    PS: si je met le curseur a la moitié de la trackbar, au lieu d'avancer elle recule :/

    des idées peut etre?

    Thx...
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  2. #2
    Membre éclairé
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Points : 786
    Points
    786
    Par défaut
    Salut !

    Juste une remarque :

    1 seconde=1000 Milliseconde


    A+
    Plus tu prends part aux joies et chagrins des gens, plus ils te sont proches et chers. Mais c'est le chagrin et les problèmes qui vous rapprochent le plus.

    (Mark TWAIN)

  3. #3
    Membre habitué 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
    Points : 188
    Points
    188
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MediaPlayer1->Position = ( ((TrackBar1->Position)*MediaPlayer1->Length)/1000);
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Label2->Caption = ((ThePos*1000)/TheLength);
      TrackBar1->Max = (((MediaPlayer1->Length)*1000)/TheLength);
      TrackBar1->Position=((ThePos*1000)/TheLength);
    donne le meme résultat de blocage !
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  4. #4
    Membre éclairé
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Points : 786
    Points
    786
    Par défaut
    Salut !

    A l'ouverture du fichier MP3 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    TrackBar1->Max=MediaPlayer1->Length/1000;
    et dans l'évenement OnChange du TrackBar

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    void __fastcall TForm1::TrackBar1Change(TObject *Sender)
    {
    MediaPlayer1->Position=TrackBar1->Position*1000;
    }
    A toi de voire comment mettre à jours ce TrackBar selon la position actuel du MediaPlayer !



    A+
    Plus tu prends part aux joies et chagrins des gens, plus ils te sont proches et chers. Mais c'est le chagrin et les problèmes qui vous rapprochent le plus.

    (Mark TWAIN)

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

Discussions similaires

  1. Les freewares pour la lecture de fichiers multimédias
    Par Michaël dans le forum Autres Logiciels
    Réponses: 42
    Dernier message: 01/01/2020, 18h56
  2. Code sources pour la lecture de fichier mp3
    Par elbert1509 dans le forum Débuter
    Réponses: 1
    Dernier message: 26/01/2011, 14h04
  3. Réponses: 2
    Dernier message: 06/02/2009, 12h10
  4. Réponses: 6
    Dernier message: 04/10/2006, 18h40

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