AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Mediaplayer Length und Position werden falsch dargestellt
Thema durchsuchen
Ansicht
Themen-Optionen

Mediaplayer Length und Position werden falsch dargestellt

Ein Thema von Poseidon · begonnen am 4. Aug 2008 · letzter Beitrag vom 4. Aug 2008
Antwort Antwort
Benutzerbild von Poseidon
Poseidon

Registriert seit: 8. Jul 2008
113 Beiträge
 
Delphi 2005 Personal
 
#1

Mediaplayer Length und Position werden falsch dargestellt

  Alt 4. Aug 2008, 19:38
Hallo Delphianer,
in meinem Media soll dei Position und Length dargestellt werden. Ihrgendwie kommen aber seltsame Ergebnisse heraus, z.B. 2(min) 214(sek) oder 4576(sek).
Weder
Delphi-Quellcode:
type
  HMSRec = packed record
  Hours: byte;
  Minutes: byte;
  Seconds: byte;
  NotUsed: byte;
   end;

{...}

procedure TForm1.Timer12Timer(Sender: TObject);
var
TheLength: LongInt; ThePos2:LOngint;
begin

 If Mediaplayer1.Mode = mpplaying then
 begin


MediaPlayer1.TimeFormat := tfHMS;

TheLength := Mediaplayer1.Length;
with HMSRec(TheLength) do
begin
Label21.Caption := IntToStr(minutes);
Label22.Caption := IntToStr(Seconds);
end;
  
 ThePos2 := Mediaplayer1.Position;
with HMSRec(ThePos2) do
begin

Label24.Caption := IntToStr(minutes);
Label26.Caption := IntToStr(Seconds);
end;
  end;
   end;
noch
Delphi-Quellcode:
type
  HMSRec = record
  Hours: byte;
  Minutes: byte;
  Seconds: byte;
  NotUsed: byte;
   end;

{...}

procedure TForm1.Timer12Timer(Sender: TObject);
var
TheLength: LongInt; ThePos2:LOngint;
begin

 If Mediaplayer1.Mode = mpplaying then
 begin


Mediaplayer1.TimeFormat := tfmilliseconds;

TheLength := Mediaplayer1.Length;
with HMSRec(TheLength) do
begin

Label21.Caption := IntToStr(thelength div 60000);
Label22.Caption := IntToStr(thelength mod 60000);
end;
   
 ThePos2 := Mediaplayer1.Position;
with HMSRec(ThePos2) do
begin
 
Label24.Caption := IntToStr(thepos2 div 60000);
Label26.Caption := IntToStr(thepos2 mod 60000);
end;
  end;
 end;
Futz. Was mach ich falsch? Vielen dank im voraus.

mfg Poseidon
Im Zweifelsfall immer das Richtige tun
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Mediaplayer Length und Position werden falsch dargestell

  Alt 4. Aug 2008, 19:41
Es ist eine Fehlannahme das Length und Position ms sind. Abhängig vom codec ist auch die Einheit von Position und Length. Es können Frames sein, Sekunden etc.
Wenn man direkt mit mci Befehlen arbeitet kann man direkt die Länge in ms abfragen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Poseidon
Poseidon

Registriert seit: 8. Jul 2008
113 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Mediaplayer Length und Position werden falsch dargestell

  Alt 4. Aug 2008, 19:59
Danke für die schnelle Antwort
Wie setze ich das mit meinem Code so um das es in meinem Mediaplayer richtig funktioniert?
Im Zweifelsfall immer das Richtige tun
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Mediaplayer Length und Position werden falsch dargestell

  Alt 4. Aug 2008, 20:10
Mit folgenden Zeilen kannst du das Format auf ms umstellen:
Delphi-Quellcode:
var
  lSetParms : TMCI_Set_Parms;
begin
  ZeroMemory(@lSetParms, SizeOf(lSetParms));
  lSetParms.dwTimeFormat := Cardinal(MCI_FORMAT_MILLISECONDS);

  mciSendCommand(fDevID, MCI_SET, MCI_WAIT or MCI_SET_TIME_FORMAT, Cardinal(@lSetParms));
wobei fDevID das Handle des geöffneten Gerätes ist (entspricht dem Property Handle des TMediaplayer).
Vielleicht gibt es beim TMediaplayer auch eine Eigenschaft um das einzustellen. Da ich selbst direkt mit den MCI-Funktionen gearbeitet habe kenne ich mich da nicht so genau aus.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 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