musik loop

Tags:    delphi

Hej med programmøre

jeg har lavet et lille proram med musik i baggrunden det virker også fint men jeg vil gerne have at det skal loope uendeligt jeg har prøvet at søge på diverse men kan ikke finde noget så jeg tænkte på om i kunne hjælpe?

procedure TfrmMain.FormCreate(Sender: TObject);
begin
MP.FileName := AppPath+'\\app.mp3';
MP.Open;
MP.Play;

end;

end.


på forhånd tak

PS. må gerne skrives så forståeligt som muligt da jeg er nybegynder.

//Farzad

[Redigeret d. 16/10-05 16:33:23 af Farzad]



8 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Noget lignende dette.

if MP.Position = MP.Length then MP.Rewind;

Kan smides i en timers ontimer event.


-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GED d- s: a--- C++ U? P L+ E? W++ N? o? K- w
O? M? V? PS PE? Y? PGP++ t 5? X+ R tv+ b+ DI? D+
G e-- h! !r y--
------END GEEK CODE BLOCK------



Hej

Kan smides i en timers ontimer event.

hvad mener du med det?

og hvordan gør man?

[Redigeret d. 16/10-05 20:54:59 af Farzad]



I system palletten vælger du en timer og smider på din form. dobbeltklik på den når den er på formen og sæt koden ind der. timeren har en Enabled property der bestemmer om timeren skal "køre". Du bør gøre sådan så den først bliver enabled når musikken starter. Ellers får du en masse fejl.


-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GED d- s: a--- C++ U? P L+ E? W++ N? o? K- w
O? M? V? PS PE? Y? PGP++ t 5? X+ R tv+ b+ DI? D+
G e-- h! !r y--
------END GEEK CODE BLOCK------



Jeg er med hertil det jeg så ser er:

properties events

enabled true
interval 1000
name timer1
tag 0

timeren har en Enabled property der bestemmer om timeren skal "køre". Du bør gøre sådan så den først bliver enabled når musikken starter. Ellers får du en masse fejl.

kan man ikke loope via kode i stedet for timeren?

er det rigtigt det her?


procedure TfrmMain.FormCreate(Sender: TObject);
begin
MP.FileName := AppPath+'\\app.mp3';
MP.Open;
MP.Play;

end;

procedure TfrmMain.Timer1Timer(Sender: TObject);
begin
if MP.Position = MP.Length then MP.rewind;

end;

end.



Du kan ikke gøre det uden timer. Timeren gør at der hvert sekund (standard) bliver noget kode eksekveret (kørt).



-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GED d- s: a--- C++ U? P L+ E? W++ N? o? K- w
O? M? V? PS PE? Y? PGP++ t 5? X+ R tv+ b+ DI? D+
G e-- h! !r y--
------END GEEK CODE BLOCK------



Hej

jeg har prøvet at lege lidt mig den kode du gav mig og den var kun en lille smule forkert, men mange tak aligevel.

procedure TfrmMain.FormCreate(Sender: TObject);
begin
MP.FileName := AppPath+'\\app.mp3';
MP.Open;
MP.Play;

end;

procedure TfrmMain.Timer1Timer(Sender: TObject);
begin
if MP.Position = MP.Length
then MP.Play;

end;

end.


det skal være MP.play istedet for MP.Rewind

//Farzad



hej

hjælp nu har jeg et andet problem når jeg starter programmet kommer den med denne advarsel: No MCI device open.
hvad betyder det og hvad gør jeg for at gøre så det virker igen, du sagde noget med at jeg skulle gøre så timeren først starter når programmet kører, men hvordan gør jeg?

\\\\Farzad



Sådan

procedure TfrmMain.FormCreate(Sender: TObject);
begin
MP.FileName := AppPath+'\\app.mp3';
MP.Open;
MP.Play;
Timer1.Enabled:= true;
end;


Husk så også at sætte enabled til false i Object Instpectoren i delphi.

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GED d- s: a--- C++ U? P L+ E? W++ N? o? K- w
O? M? V? PS PE? Y? PGP++ t 5? X+ R tv+ b+ DI? D+
G e-- h! !r y--
------END GEEK CODE BLOCK------



t