procedure TForm1.Button1Click(Sender: TObject); begin MediaPlayer1.FileName := 'C:\first.WAV'; MediaPlayer1.Open; MediaPlayer1.Play; end;
procedure TForm1.MediaPlayer1Notify(Sender: TObject); begin if MediaPlayer1.FileName = 'C:\second.WAV' then exit; //eller bliver den ved med at afspille 2. lyd if not (MediaPlayer1.NotifyValue = nvSuccessful) then exit; MediaPlayer1.FileName := 'C:\second.WAV'; MediaPlayer1.Open; MediaPlayer1.Play; end;
Det er vist ikke nødvendigt med "MediaPlayer1.Close" her. Det er f.eks. nødvendigt hvis man vil slette filen som afspilles, altså "MediaPlayer1.Filename".
Jeg sætter en timer på formen, med værdien 100, dvs at den trigger 10 gange i sekundet.
procedure Timer1(Sender: TObject); begin if MediaPlayer1.Position = MediaPlayer1.Length then // Lyd er færdig. begin
...
end; end; // Jeg er ikke sikker på procedure hovedet, jeg har ikke Delphi på den maskine jeg sidder ved her. // Men når du dobbelt klikker på timer iconet, danner Delphi selv procedure hovedet.
Det ved jeg heller ikke, men det virker. Jeg bruger det med held, i et musik afviklings program jeg har lavet til en lokalradio. Jeg kunne nemlig hverken få Notify eller Wait til at virke ordentlig. MediaPlayer1.Close er nødvendig for at frigive filen til andre apps. ved den sidst spillede fil, det gamle filnavn bliver frigivet når det nye bliver loadet ind.
Umiddelbart så synes jeg at der virker bedst med PlaySound('d:\test.wav', HInstance, SND_FILENAME or SND_SYNC ); da den holder pause i koden, indtil den har afspillet filen. Jeg synes bare at det er som om den holder en lille pause, mellem to filer, der skal afspilles efter hinanden. Kan man gøre noget ved det ??
stoney > Jeg har prøvet at bruge dit forslag, det virker faktisk også rimeligt godt, problemet er bare, at der alligevel kommer et kort ophold mellem to lyde, der skal afspilles lige efter hinanden..... Hvordan får jeg dem afspillet lige efter hinanden uden ophold ?? Kan man evt. sammensætte lydene til en lyd, og så afspille den ??
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.