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 !
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 !
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
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 While not clicked do begin MediaPlayer.Play; end;
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![]()
As-tu mis la fonction Open de la classe TMediaPlayer???
Je pense qu'il faudrait peut-être le rajouté dans la boucle :
Essaye ça...
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;
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...![]()
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
Rajoute AutoEnabled à true aussi...:o
Allez cette fois tu devrais boucler ton morceau...
A plus
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![]()
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 :
fichier corrrespond à un objet de classe TFileListBox, mais libre à toi de la changer...
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;
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
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)
Bonjour, et pourquoi pas :
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.
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;
Dans un de mes programmes, j'ai utilisé les deux méthodes mais la première permet plus de contrôle.
J'ai essayé sur Delphi 6 et ton truc marche aussi![]()
Merci à toi aussi 8)
Partager