Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#5

AW: TMediaPlayer - Length und Position

  Alt 1. Dez 2011, 13:42
Sicher das du denn alles richtig machst??
Ja, ziemlich.
Ich hab das etwas verändert, weil ich keine Fehlermeldungen haben möchte.
Daß etwas nicht funktioniert, sehe ich ja daran, daß der Rückgabewert der Funktion gettimefromfile 0 ist.
Aber ich habe natürlich kontrolliert, ob ich einen Fehler eingebaut habe, indem ich die in deinem Upload enhaltene .exe aufgerufen habe, und die bringt den gleichen Rückgabewert, wie die von mir modifizierte Funktion. (siehe anhängende .jpg).
Im 2.jpg kannst du sehen, daß der Windows Explorer die korrekte Zeit angibt.


Delphi-Quellcode:
FUNCTION TMain.GetTimeFromFile(FileName:String):Double;
var Duration:Double; wFileName:PWideChar; hr:HRESULT; MediaDet:IMediaDet;
begin;
   MediaDet:=nil;
   Result:=0;
   wFileName:=StringToOleStr(FileName);
   try
      hr:=CoCreateInstance(CLSID_MediaDet,nil,CLSCTX_INPROC,IMediaDet,MediaDet);
      if hr<>S_OK then exit;
      hr := MediaDet.put_Filename(wFileName);
      if hr<>S_OK then exit;
      hr:=MediaDet.get_StreamLength(Duration);
      if hr<>S_OK then exit;
      result:=duration;
   finally
      SysFreeString(wFileName);
      MediaDet:=nil;
   end;
end;
Miniaturansicht angehängter Grafiken
1.jpg   2.jpg   3.jpg  
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat