Bonjour,

J'utilise une boucle for pour jouer en boucle un son.
Le son est joué s'il y a appui sur le bouton play ou si j'appelle la procedure dans une autre section du code.
Je veux en fait récupérer par un Edit (Edit1) le nombre de fois que l'utilisateur désire écouter le son.

Mon code est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
procedure TForm1.btJouerClick(Sender: TObject);
var B : integer;
begin
    //for B:= StrToInt(Edit1.Text) downto 0 do
        Lecteur;
end;
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key <> chr(8)) and ((Key < '0') or (Key > '9')) then
begin
Key := chr(0); // Permet d'annuler la frappe de la touche
end;
end;
 
procedure TForm1.Lecteur;
var B : integer;
begin
//for B:= StrToInt(Edit1.Text) downto 0 do
 
    if RadioBtmont4s.Checked then
    //for B:= StrToInt(Edit1.Text) downto 0 do
    begin
        MediaPlayer1.FileName := 'C:\Sons\MONTE.WAV';
        MediaPlayer1.Open;
        MediaPlayer1.StartPos:=0;       // Joue 4s du morceau WAV
        MediaPlayer1.EndPos:=4000;
        MediaPlayer1.Play;
        Arretautorise := true;  // evite un bug si nous appuyons sur arreter
                                       // alors q'aucun son WAV n'a été lancé
    end;
 
 
    if RadioBtmont8s.Checked then
    //for B:= StrToInt(Edit1.Text) downto 0 do
    begin
       MediaPlayer1.FileName := 'C:\Sons\MONTE.WAV';
       MediaPlayer1.Open;
       MediaPlayer1.StartPos:=0;       // Joue 8s du morceau WAV
       MediaPlayer1.EndPos:=8000;
       MediaPlayer1.Play;
       Arretautorise := true;
    end;
 
procedure TForm1.btArreterClick(Sender: TObject);
begin
    if Arretautorise then
    begin
        MediaPlayer1.Stop;
    end;
end;
J'ai essayé le programme en placant la boucle à plusieurs endroits mais cela ne marche pas, le son n'est joué qu'une seule fois.

Merci d'avance pour vos remarques.