Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi TMediaPlayer: aktuelle Position anzeigen lassen? (https://www.delphipraxis.net/32410-tmediaplayer-aktuelle-position-anzeigen-lassen.html)

mlspider 22. Okt 2004 18:05


TMediaPlayer: aktuelle Position anzeigen lassen?
 
Hallo,

ich versuche mit:

Delphi-Quellcode:
procedure TForm1.AudioDateiffnenClick(Sender: TObject);
Var I: Integer;
    Minuten: Integer;
    Sekunden: Integer;
begin
 if OpenDialog1.Execute then
   begin
      MediaPlayer1.FileName := OpenDialog1.FileName;
    MediaPlayer1.Open;
    MediaPlayer1.TimeFormat := tfMilliseconds;
    MediaPlayer1.Position := (Sekunden + (Minuten * 60)) * 1000;
I := MediaPlayer1.Position div 1000;
Minuten := I div 60;
Sekunden := I mod 60;
    StartButton.Enabled:=True;
    MMBitmapButton3.Enabled:=True;
    MMBitmapButton7.Enabled:=True;
   end;
die aktuelle Position zu ermitteln. Wie kann ich nun diese in einer Digit-Kompnete ausgeben lassen???

Ich hoffe der obige Quelltext ist so in Ordnung.

Danke!

Birzenbae 22. Okt 2004 18:20

Re: TMediaPlayer: aktuelle Position anzeigen lassen?
 
hab ich das richtig verstanden du willst die aktuelle zeit der Tmediaplayerkomponente ausgeben lassen??

mlspider 22. Okt 2004 18:25

Re: TMediaPlayer: aktuelle Position anzeigen lassen?
 
So in etwa. Wenn ich also einen Titel abspiele, möchte ich wissen an welcher Stelle dieser sich gerade befindet. Wenn möglich in Sekunden, Minuten und Stunden.

gmarts 22. Okt 2004 18:31

Re: TMediaPlayer: aktuelle Position anzeigen lassen?
 
Aus der OH:
Zitat:

Delphi-Quellcode:
type

  HMSRec = record
    Hours: byte;
    Minutes: byte;
    Seconds: byte;
    NotUsed: byte;

  end;

procedure TForm1.Button1Click(Sender: TObject);

var
  TheLength: LongInt;
begin
  { Zeitformat einstellen - Achtung, einige Geräte unterstützen tfHMS }
  MediaPlayer1.TimeFormat := tfHMS;
  { Länge des aktuell geladenen Mediums speichern }
  TheLength := MediaPlayer1.Length;
  with HMSRec(TheLength) do { Typumwandlung von TheLength in einen HMSRec }
  begin
    Label1.Caption := IntToStr(Hours); { Stunden in Label1 }
    Label2.Caption := IntToStr(Minutes); { Minuten in Label2 }

    Label3.Caption := IntToStr(Seconds); { Sekunden in Label3 }
  end;
end;

Funktioniert natürlich auch bei Mediaplayer1.Position.

:!: F1 :!: 8)

Birzenbae 22. Okt 2004 18:34

Re: TMediaPlayer: aktuelle Position anzeigen lassen?
 
für minuten hab ich das ein fach so gemacht

Delphi-Quellcode:
function time (zeit : Integer): string;
var allsec: real;
    minute,second: integer;
begin
if zeit >=1000 then begin
allsec := zeit / 1000;
minute := round(allsec) div 60;
second := round(allsec) mod 60;
if second < 10 then
Resul t:= inttostr(minute) + ':0' + inttostr(second)
else
Result := inttostr(minute) + ':' + inttostr(second);
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption := time(MediaPlayer1.Position);
end;
für stunden müssteste noch paar if-schleife in in funktion oben einbauen.

mlspider 22. Okt 2004 18:35

Re: TMediaPlayer: aktuelle Position anzeigen lassen?
 
Diesen Code(Delphi Online Hilfe) habe ich schon ausprobiert. Gibt allerdings irgendwie merkwürdige Werte aus und läuft auch nicht weiter.

Birzenbae 22. Okt 2004 18:37

Re: TMediaPlayer: aktuelle Position anzeigen lassen?
 
welchen meinen???? noe der funzt perfekt wenn de en timer holst un machst wies in der timer procedure drinne steht.

mlspider 22. Okt 2004 18:39

Re: TMediaPlayer: aktuelle Position anzeigen lassen?
 
Nee, den in der OH. Kann ich den Aufruf nicht auch in einem Button (On Click) legen, oder brauche ich unbedingt das Timer-Ereignis?

Birzenbae 22. Okt 2004 18:42

Re: TMediaPlayer: aktuelle Position anzeigen lassen?
 
ka ich habs in timer gemacht dan is sicher das der das auch auf jeden fall aktualisert aber du kannt natürlich sagen das beim starten der mp3 das timer.enabled:= true gestellt wird.

mlspider 22. Okt 2004 18:43

Re: TMediaPlayer: aktuelle Position anzeigen lassen?
 
OK, dann werde ich es mal ausprobieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 Uhr.
Seite 1 von 3  1 23      

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