Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi MediaPlayer1.Position (https://www.delphipraxis.net/13842-mediaplayer1-position.html)

Toenn 27. Dez 2003 20:45


MediaPlayer1.Position
 
Guten Abend,
wie kann ich mit einer TrackBar die Position von einem MediaPlayer bestimmen? :wiejetzt:

(Habs schon so versucht mit MediaPlayer1.Position := Trackbar1.Position; aber dann hört der MediaPlayer immer auf zu spielen. (Bei Musikdateien))

Thx für Antworten,
Tuenn :dp:

Uncle Cracker 27. Dez 2003 20:51

Re: MediaPlayer1.Position
 
Dein Code:

Code:
MediaPlayer1.Position := Trackbar1.Position;
Mein Code:

Code:
Trackbar1.Position := MediaPlayer1.Position;
:wink:

Toenn 27. Dez 2003 21:16

Re: MediaPlayer1.Position
 
Zitat:

Zitat von Uncle Cracker
Dein Code:

Code:
MediaPlayer1.Position := Trackbar1.Position;
Mein Code:

Code:
Trackbar1.Position := MediaPlayer1.Position;
:wink:

mit deinem code tut man die position in ne trackbar.
is auch gut, aber die trackbar springt immer direkt zum ende :wall:

Uncle Cracker 27. Dez 2003 21:32

Re: MediaPlayer1.Position
 
Dann hilft dir vielleicht dieser Beitrag: Auf mich kann man klicken

Toenn 27. Dez 2003 21:34

Re: MediaPlayer1.Position
 
ich schaue mir das morgen mal an, ich habe jetzt keinen bock mehr :mrgreen: :zwinker: :mrgreen:

cu

Stanlay Hanks 27. Dez 2003 23:18

Re: MediaPlayer1.Position
 
Hi.

Zuerst mal musst du der Trakbar "sagen" wie lange sie überhaupt sein soll. Das müsstest du so machen: (Ich habs jetz einfach ins OnCreate gepackt, is aber nur für dieses Beispiel)

Delphi-Quellcode:
Trackbar1.Max := MediaPlayer1.TrackLength[1];
Das mit dem Abspielen und "Scrollen" innerhalb eines Lieds hätte ich so gemacht. (funzt auch, habs probiert). Das gehört ins OnClick der Trackbar

Delphi-Quellcode:
MediaPlayer1.Stop;
Mediaplayer1.StartPos := Trackbar1.Position;
MediaPlayer1.Play;
Man liest sich, Stanlay :hi:

PS: Mein 1500. Beitrag :hello:

Toenn 28. Dez 2003 11:45

Re: MediaPlayer1.Position
 
Zitat:

Zitat von Uncle Cracker
Dann hilft dir vielleicht dieser Beitrag: Auf mich kann man klicken

dat ding, auf dat man klicken kann funzt.

@Stanlay: Deins geht auch

thx

Moyyer 2. Jan 2004 19:45

Re: MediaPlayer1.Position
 
Ein Trackbar heat kein OnClickEvent. Nur mal so zur Info.

Stanlay Hanks 2. Jan 2004 20:05

Re: MediaPlayer1.Position
 
Hi. Da hast du natürlich recht. :wink: Ich hab das wohl mit dem OnChange Ereignis verwechselt.

Man liest sich, Stanlay :hi:

Gandalfus 2. Jan 2004 23:11

Re: MediaPlayer1.Position
 
Zitat:

Zitat von Moyyer
Ein Trackbar heat kein OnClickEvent. Nur mal so zur Info.

klar hat die Trackbar ein OnClickEvent ist nur nicht sichtbar.

eine Trackbarmit mouseevents von mir findet sich da:
http://www.delphipraxis.net/internal...178&highlight=

beatles 9. Feb 2004 07:59

Re: MediaPlayer1.Position
 
hi...
Sicher ist das Thema hier schon etwas älter :stupid:
Trotzdem habe ich mir auch schon darüber gedanken gemacht und habe das Problem wie folgt gelöst (vielleicht interessiert es ja jemanden:




Delphi-Quellcode:
var
  Form1: TForm1;
  SetNewPos: Boolean;
{...}
Ich verwende einen Timer mit Delay: 300 ms.
Delphi-Quellcode:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  IF Mediaplayer1.Mode = mpplaying then
    begin
      Trackbar1.Enabled:=true; {ist im Objektinstpektor auf "false"
                                 damit keine Fehlermeldungen erscheinen,
                                 wenn keine Datei geladen ist und man versucht
                                 die Trackbar zu bewegen}
      Trackbar1.Max:= Mediaplayer1.Length;
      Trackbar1.Position:= Mediaplayer1.Position;
    end else
    begin
      Trackbar1.Enabled:=false;
      Trackbar1.Max:= 0;
      Trackbar1.Position:= 0; //sieht besser aus
    end;
end;
und dann noch der Code für die Trackbar:

Delphi-Quellcode:

procedure TForm1.TrackBar1Change(Sender: TObject);
begin

   if csLButtonDown in TrackBar1.ControlState then
     begin
       timer1.Enabled:=false;
       SetNewPos := True;
     end;

   if SetNewPos then begin
      if not (csLButtonDown in TrackBar1.ControlState) then
        begin
          MediaPlayer1.Position := TrackBar1.Position;
          MediaPlayer1.Play;
          SetNewPos := False;
          timer1.Enabled:=true;
        end;
      end;
end;
Naja ist sicher nichts Weltbewegendes, aber es geht.... :nerd:

Fiel Fergnügen :hello: beatles..


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz