Einzelnen Beitrag anzeigen

roth

Registriert seit: 25. Nov 2005
Ort: -
72 Beiträge
 
#1

SetRate .wmv DirectShow9

  Alt 19. Dez 2011, 15:15
hallo

ich versuche ein Video in halber Geschwindigkeit abzuspielen:
Delphi-Quellcode:
var
  evCode : integer;
  pEvent :IMediaEvent;
  pGraph :IGraphBuilder;
  pMediaControl :IMediaControl;
  pSeeking : IMediaSeeking;
  pVidWin :IVideoWindow;
begin
  CoInitialize(nil);
  CoCreateInstance(CLSID_FilterGraph, nil, CLSCTX_INPROC, IID_IGraphBuilder, pGraph);
  pGraph.QueryInterface(IID_IMediaControl, pMediaControl);
  pGraph.QueryInterface(IID_IMediaEvent, pEvent);
  pGraph.QueryInterface(IID_IMediaSeeking, pSeeking);
  pGraph.RenderFile('D:\videos\test.wmv', nil);
  if (pSeeking.SetRate(0.5) = S_OK) then begin
   pMediaControl.Run();
  end;
  pEvent.WaitForCompletion(INFINITE, evCode);
  CoUninitialize();
end;
Bei .avi Files geht dies Problemlos, bei .wmv gibt SetRage E_INVALIDARG zurück...

Kann mir jemand Helfen?

mfg
  Mit Zitat antworten Zitat