cs_costello
Messages postés136Date d'inscriptionlundi 2 septembre 2002StatutMembreDernière intervention15 février 2006
-
1 oct. 2002 à 19:19
blueperfect
Messages postés234Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention21 novembre 2013
-
5 janv. 2009 à 17:25
J'ai un léger problème avec le composant TMediaPlayer.
Il ne peut charger qu'un seul fichier à la fois; or je voudrais qu'il lise tous les fichiers d'une liste sans s'arrêter entre chaque morceau.
Existe-t-il une procédure pour charger plusieurs fichiers à la suite ?
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 1 oct. 2002 à 22:46
J'ai déjà programmé un truc de ce genre, il n'est pas possible d'envoyer plusieurs fichiers en même temps sur un seul MediaPlayer. Mais il est possible de les envoyer un par un dès que la précédent est terminé :
( les noms de fichiers sont stockés dans Memo1 )
procedure TForm1.btnRunClick(Sender: TObject);
Var EnCours:Integer;
begin
For EnCours:=0 To Memo1.Lines.Count-1 Do
Begin
MediaPlayer1.FileName:=Memo1.Lines[EnCours];
MediaPlayer1.Open;
MediaPlayer1.Wait:=True;
MediaPlayer1.Play;
MediaPlayer1.Close;
End;
end;
cs_costello
Messages postés136Date d'inscriptionlundi 2 septembre 2002StatutMembreDernière intervention15 février 2006 2 oct. 2002 à 13:51
Merci Nono40, mais j'avais déjà essayé de faire comme ça. Le but de ce médiaplayer était d'écouter de la musique en même temps qu'on écrivait; et dans ce cas la lecture de la musique bloque tout le programme....
Pour OnNotify, j'ai un peu de mal à l'utiliser: j'arrive à faire jouer 2 sons à la suite, mais après le lecteur s'arrête...
cs_Bestiol
Messages postés833Date d'inscriptiondimanche 6 janvier 2002StatutMembreDernière intervention 3 novembre 20051 2 oct. 2002 à 14:09
Tu peux utiliser un autre thread...
Sinon, pour OnNotify, il faut en fait réinitialiser une variable à chaque fois que l'évènement est déclenché... Regarde dans l'aide, c'est expliqué !
Bonne prog' !
Bestiol.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_costello
Messages postés136Date d'inscriptionlundi 2 septembre 2002StatutMembreDernière intervention15 février 2006 2 oct. 2002 à 14:47
Pour ceux que ça intéresse :
J'ai utilisé un DXTimer (c barbare je sais)
Une variable 'playing' booléenne publique
Quand on appuie sur 'Jouer' ça met 'playing' sur false.
Quand l'évènement OnTimer (intervalle 0) se produit :
procedure TForm3.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
if playin = true then
begin
if MediaPlayer1.Mode = mpStopped then
begin
if ListBox1.Items.Count-1 > ListBox1.ItemIndex then
begin
ListBox1.ItemIndex := ListBox1.ItemIndex + 1;
MediaPlayer1.FileName := ListBox1.Items.Strings[ListBox1.ItemIndex];
MediaPlayer1.Play
end
else MediaPlayer1.Close;
end;
end;