24. juli 2002 - 20:00Der er
20 kommentarer og 1 løsning
Edits der viser "Tid der er gået" og "Tid tilbage" fra sang i P..
Hej allesammen, Jeg er ved at lave en musik player, som skal vise "Tid der er gået af sangen" og "Tid tilbage af sangen" via 2 edits... "Afspilleren" er en TmediaPlayer...
du kan benytte MediaPlayer.Position til at se hvor langt du er i sangen. Tag eksempelvis en TGauge eller en TProgressBar og lad MediaPlayer.Length være Max værdien og MediaPlayer.Position være Position! Hvis du vil vise det med tal (altså minutter og sekunder) kan du bruge MediaPlayer.TimeFormat. Her er et eksempel fra Hjælpe-filen:
var TheLength: LongInt; begin { Set time format - note that some devices don’t support tfHMS } MediaPlayer1.TimeFormat := tfHMS; { Store length of currently loaded media in var } TheLength := MediaPlayer1.Length; with HMSRec(TheLength) do { Typecast TheLength as a HMSRec record } begin Label1.Caption := IntToStr(Hours); { Display Hours in Label1 } Label2.Caption := IntToStr(Minutes); { Display Minutes in Label2 }
nico22> Jeg har redigeret lidt i din kode... Edit2.Text := IntToStr((MediaPlayer1.Length) div 60000); så den nu viser i Minutter.. men kan man ikke gøre det sådan at den viser 3:21 i stedet for bare 3, som den gør ved koden ovenover...?
procedure TForm1.Timer1Timer(Sender: TObject); var Trk, Min, Sec: Word; begin with MediaPlayer1 do begin Trk:= MCI_TMSF_TRACK(Position); Min:=MCI_TMSF_MINUTE(Position); Sec:=MCI_TMSF_SECOND(Position); Label1.Caption:=Format('%.2d',[Trk]); Label2.Caption:=Format('%.2d:%.2d',[Min,Sec]); end; end;
procedure TForm2.Timer2Timer(Sender: TObject); var R : Integer; begin Label2.Caption := IntToStr(MediaPlayer1.Position div 1000); Label3.Caption := Format('%d:%r', [R div 60000, (R mod 60000) div 1000]); end;
sorry så ikke dit seneste indlæg... Men den der tæller hvor lang tid sangen har været i gang, den tæller i sek endnu og ikke i min altså den viser 90 og ikke 1:30????
kan man ikke få den til at vise 01 og ikke bare 1?
procedure TForm1.Timer2Timer(Sender: TObject); var R : Integer; begin R := MediaPlayer1.Position; Label2.Caption := Format('%.2d:%.2d', [R div 60000, (R mod 60000) div 1000]);
R := MediaPlayer1.Length - MediaPlayer1.Position; Label3.Caption := Format('%.2d:%.2d', [R div 60000, (R mod 60000) div 1000]); end;
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.