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 :

Répétition dans un MediaPlayer


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 9
    Par défaut Répétition dans un MediaPlayer
    Alors voilà... Peut-être que la réponse est simple mais moi je l'ai pas trouvée...

    Comment faut-il faire pour répéter une musique dans un TMediaPlayer ?

    Voilà ma ptite question

    Merci d'avance !

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 258
    Par défaut
    Bonjour,

    Il faut que tu utilises l'algorithme suivant :

    Tant que événement non réalisé faire
    début
    Jouer le morceau de musique;
    end;

    Ce qui devrait donner le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    While not clicked do
    begin
    MediaPlayer.Play;
    end;
    clicked etant un booléen que tu initialise à false dans l'évenement Oncreate de ta fiche et que tu mets à true lorsque tu entre dans un événement OnClick d'un bouton, par exemple le bouton Arrêt.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 9
    Par défaut
    Merci pour la réponse, j'ai bien tout fait... Mais malheureusement ça ne marche pas (en tout cas pas chez moi).
    Quand je clique sur le boutton Play, l'application bloque et la musique ne démarre pas et après je suis obligé de redémarrer Delphi

    En fait pour ceux qui n'auraient pas compris la question c'est que j'aimerais que dans un MediaPlayer, je joue une chanson et dés qu'elle se termine, elle recommence automatiquement...

    Voilà jai toujours besoin d'aide

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 258
    Par défaut
    As-tu mis la fonction Open de la classe TMediaPlayer???

    Je pense qu'il faudrait peut-être le rajouté dans la boucle :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    While not clicked do 
    begin 
    MediaPlayer.Open;
    MediaPlayer.Play; 
    end;
    Essaye ça...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 9
    Par défaut
    Je l'avais mis avant du fait que l'on pouvait charger sa musique... Donc ce n'est pas ça qui manque

    Merci encore mais je pense que c'est toujours pas ça...

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 258
    Par défaut
    Bonjour,

    Tu peux peut être utilisé les propriétés AutoOpen et AutoRewind, sinon jene vois pas rop encore. Mais celà m'intéresse donc je vais me pencher sur ton pb plus efficacement...

    Allez,

    A plus et bonne prog...

    Chris

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 258
    Par défaut
    Rajoute AutoEnabled à true aussi... :o

    Allez cette fois tu devrais boucler ton morceau...

    A plus

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 9
    Par défaut
    C'est donc moi qui ai un problème puisqu'avec toi ça marche nan?

    Bon maintenant je dois dire que la musique se lance mais va environ 100 fois moins vite que normalement ce qui fait que je devrais rester environ une heure pour savoir si ma chanson se répete

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 258
    Par défaut
    Salut, c'est encore moi,

    On te le faire boucler cette fois ci ce morceau...

    Eh la c'est pour de bon, si si je te l'assure j'y ai travaillé sérieusement..

    Alors l'astuce c'est de mettre un Timer sur la fiche tu vas fixer sa propriété interval à 10.
    Après cette manip tu vas écrire la fonction lié à l''événement comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    if mediaplayer1.position=mediaplayer1.Length then 
    begin
    mediaplayer1.Stop;
    timer1.Enabled:=false;
    JouerClick(Self);
    end;
     
    end;

    Place un bouton sur ta fiche dont la propriété Caption sera Jouer, ou par l'intermédiaire du bouton Play du MediaPlayer. Ensuite insére les lignes de codes suivnates :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    MediaPlayer1.FileName:=fichier.FileName;
    MediaPlayer1.AutoOpen := true;
    MediaPlayer1.Open;
    MediaPlayer1.Play;
    Timer1.Enabled := True;
    fichier corrrespond à un objet de classe TFileListBox, mais libre à toi de la changer...
    Et la je te défie de me dire que ça ne fonctionne pas sur ton PC parce que je l'ai testé...

    Allez bonne zic,

    Chris

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 9
    Par défaut
    Yahou ! Merci beaucoup encore de m'avoir bien aidé
    Ca marche bien sauf que j'ai du abandonné l'idée du OpenDialog mais pas de problème j'ai utilisé le FileListBox ! Merci encore !

    Aaah... Que j'aime utiliser le bouton Résolu 8)

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut
    Bonjour, et pourquoi pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.MediaPlayer1Notify(Sender: TObject);
    begin
      if (MediaPlayer1.Mode=mpStopped) then
         begin
            // If condition de stop then exit;
            MediaPlayer1.Rewind;
            MediaPlayer1.Play;
         end;
    end;
    Logiquement ça fontionne, mais sur certaines machine ou avec certains sons, la boucle tourne un nombre indéterminé de fois, et ça il me faut une réponse de spécialiste en son: SUBZERO par exemple.

    Dans un de mes programmes, j'ai utilisé les deux méthodes mais la première permet plus de contrôle.

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 9
    Par défaut
    J'ai essayé sur Delphi 6 et ton truc marche aussi

    Merci à toi aussi 8)

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/07/2008, 12h30
  2. probleme de répétition dans un ListBox
    Par faniette dans le forum C++Builder
    Réponses: 13
    Dernier message: 23/05/2008, 13h28
  3. Nombre de répétitions dans une requête
    Par Superjuju92 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 30/04/2008, 00h17
  4. suppression de la répétition dans un vecteur
    Par Minouchka dans le forum C
    Réponses: 2
    Dernier message: 23/01/2008, 19h36
  5. nombre de répétitions dans chaînes de caractères
    Par jocarina dans le forum Langage SQL
    Réponses: 10
    Dernier message: 20/06/2005, 13h07

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