Lire mp3 en boucle [Résolu/Fermé]

Messages postés
106
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
10 novembre 2006
- - Dernière réponse : Nicolas___
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
- 31 janv. 2009 à 15:23
Bonjour,

Je code en ce moment une petite interface avec des forms, et afin d'egayer tout cela, j'ai voulu y insérer la lecture d'un mp3 ( non controlable par l'utilisateur), cela fonctionne sans problème . Je souhaiterais maintenant que cette mp3 soit lue en boucle et à l'infinie.
Ayant consulté l'aide delphi avant de me rendre ici, jai cru comprendrer que la méthode "Rewind" du composant TMediaplayer, permettais de revenir aqu début du morceau en cours, j'y aurais ensuite relancer une lecture, bref......

Je trouve que ce genre de boucle est un peu une bidouille, je souhaitais savoir si il y avais pas un moyen "propre" de lire le fichier en boucle et à l'infinie ( jusqu'a la fin du programme) !

Merci à tous
----( | TanK | )---- 
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
1800
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
15 mai 2019
3
Merci
Salut,

Tout se passe dans l'évènement OnNotifiy du MediaPlayer.
Dans le cas d'une lecture en boucle sans intervention de l'usager, c'est très simple à mettre en oeuvre.
Et ça donne :

procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
  if MediaPlayer1.Mode = mpStopped then
    MediaPlayer1.Play;
    // ou toute autre procedure pour lire le morceau
  Notify : = True;   // on réinitialise pour signaler la prochaine modification de Mode
end;

Bonne prog'

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 145 internautes nous ont dit merci ce mois-ci

Commenter la réponse de japee
Messages postés
1800
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
15 mai 2019
3
Merci
Salut,


Ben, alors là...

Je pensais maîtriser le sujet, je m'aperçois qu'il va falloir que je me replonge dans l'étude du TMediaPlayer.
Je passe donc la main...
En attendant essaye ça , mais ça ne me plait pas trop, je sens un risque de plantage :



procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
  with Sender as TMediaPlayer do
    if Position = Length then
      Play;
end;


A protéger dans un bloc try..except ?


Bonne prog'

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 145 internautes nous ont dit merci ce mois-ci

Commenter la réponse de japee
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
3
Merci
tu mets dans un timer ceci

if media.position>=Media.lenght  then // fait plutot Media.lenght- 30 ( pour etre sur !)
begin
media.position:=0;
media.play;
end;

normalement ca marche ... encore que regarde ce post 
http://www.delphifr.com/infomsg_MEDIAPLAYER-FAUSSE-PAUSITION_777209.aspx

et voila peut etre pourquoi tu n'y arrvive pas ... 

Slt
 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 145 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Nicolas___
Messages postés
106
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
10 novembre 2006
0
Merci
Je teste ca de ce pas et te répond !!

Merci

----( | TanK | )---- 
Commenter la réponse de Tank01
Messages postés
106
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
10 novembre 2006
0
Merci
Qu'est ce que le notify:= true??? je dois le déclarer en global ???

----( | TanK | )---- 
Commenter la réponse de Tank01
Messages postés
106
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
10 novembre 2006
0
Merci
Excuse moi pour ma question précédente, il fallais mattre Mediaplyer1.notify, pas d'erreur de compil, mais le son ne se lit pas en boucle ! :(
----( | TanK | )---- 
Commenter la réponse de Tank01
Messages postés
2
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
31 janvier 2009
0
Merci
merci pour votre aide
Commenter la réponse de rcampus
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
0
Merci
archéologue ?
Commenter la réponse de Nicolas___