Aflæse Position...
Sæt en følgende 5 komponenter på din form: TMediaPlayer, TTimer, TProgressBar, TOpenDialog og en TButton.
Skriv følgende i din TButtons OnClick property.
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
MediaPlayer1.Filename := OpenDialog1.FileName;
MediaPlayer1.Open;
ProgressBar1.Max := MediaPlayer1.Length;
ProgressBar1.Position := 0;
end;
end;
og dette i din TTimers OnTimer property:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if MediaPlayer1.Mode = mpPlaying then
ProgressBar1.Position := MediaPlayer1.Position;
end;
Sæt din TTimers "Interval" på omkrng 30.
Og sæt eventuelt din TProgressBars "Smooth" til True.
Kompile og test!
Tryk på din Button, find en lydfil fra din harddisk!
Tryk derefter på MediaPlayerens "Play" knap og du vil nu afspille lydfilen. Hvad du også vil se at du kan følge positionen (altså hvor langt du er henne i sangen) på din ProgressBar!
Indstil Position.
Du kan også gøre det modsat. I stedet for at aflæse en fils position, kan du indsætte en position og derved spole frem og til bage i lydfilen. I følgende eksempel bruger jeg en TScrollBar til at spole med. Jeg har derfor udskiftet TPrograssBar'en med en TScrollBar. Koden til det ser således ud:
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
MediaPlayer1.Filename := OpenDialog1.FileName;
MediaPlayer1.Open;
ScrollBar1.Max := MediaPlayer1.Length;
ScrollBar1.Position := 0;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if MediaPlayer1.Mode = mpPlaying then
ScrollBar1.Position := MediaPlayer1.Position;
end;
Det samme som før, men TProgessBaren er blevet skiftet ud med TScrollBaren.
For at spole så skriv følgende i din ScrollBar's OnScroll property:
procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
begin
if Length(MediaPlayer1.Filename) > 0 then
begin
MediaPlayer1.Position := ScrollBar1.Position;
MediaPlayer1.Play;
end;
end;
Prøv nu at kompile igen og test. Mens lydfilen afspilles kan du spole frem og tilbage i lydfilen med din ScrollBar!
Smart ik!
Ikke ret meget kode, kan gøre en masse!
Så let er det... bare gi dig selv tid til at studere komponenten for dig selv! Det lære man nu engang allerbedst af!
Held og Lykke
Søren Klit Lambæk
-------------------------------------------------------------------------
Tak for det fantastiske, gode, interresandte, brugbare, detaljeret, overskuelige, tilfredsgivende, lange, fine, dejlige og flotte svar som du gav der.
Se det er det man vil se, som svar... Du har skrevet lige som jeg ville og du skal selfølgelig få den ene up (som du dog ikke er så intereseret i).
Jeg vælger som jeg altid gør at prøve svarende inden jeg uddeler up'ne for at se om de virker. De er gode og fine. (jeg får kigget lidt på koderne i morgen)
Dog har jeg 2/3 svar som du må svare på vis du har lyst, tid, overskud, fritid, energi til at svare på:
1) du skriver to gange at der skal være en timer. Dog kan jeg ikke se hvad den skal gøre godt for. Kan du forklare dens rolle?
Du skriver ikke at dens enabled funktion er sat på false. Skal den det. Nej, den skal være på true, ik?
2) Kan jeg ikke samle alle tingene samme i en ting der vises ( tidslinien, spoling tilbage og frem) i eksempel i en scrool kompoment (Kan ikke lige huske navnet)
Men det kan jeg væl forsøge mig frem til.
Tudsen tak for dit svar. Du har brugt utrolig meget tid på at svare på mit spr. Nu vil jeg da begynde på programmet (i morgen) og blande det i min egen viden)
For at du ved det. Kan jeg nu godt finde ud af at lave en enkelt mp3 afspiller. Men det fik jeg også repekteret (eller havd der hedder).
Tudsen tak for svaret. Og det er dejligt at se at folk har overskud til at hjælpe andre. Detter ville gøre verden til et meget bedre sted at leve. Men nu skal jeg lade vær med at prædke om en masse lige gyldigt. Det minder mig om et ordsprog John Lennon (fra The Beatles) havde. Han sagde: vis alle ikke tænkte på sig selv, men på andre, da vil der blive fred i verden (altså lyn hurtig oversat)
Nejjjjjjjjjjj. Nu må jeg stoppe. Black aut igen...
Nå endu en gang bliver det et enormt svar. Tak for svaret endu en gang.
Jeg har opdaget at alle her på udvikleren har et ordsprog som står efter deres svar. Eks. er nogle ordsprogne et eller andet med at vis verden bliver styret af de kloge så må jeg være utrolig klog, og mit lykketal er 1994.
Men mit skal være noget virkelig godt.
Det kunne være: Min diller er 5, 1 cm lang.
eller: Try to tast my løgpenis.
Eller bare: I fight for the feiuter.
Hvad syns du er bedst?
Jeg må vist stoppe med at skrive noget små frækt. Ellers sletter de min bruger her på udvikleren.
Nejjjj.
nu stopper jeg.
Nå men tak for dit svar.
Theis Frederiksen Hinz (Shafh)
E-mail: theisf@stofanet.