AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Prüfen welche Codecs sind installiert sind???
Thema durchsuchen
Ansicht
Themen-Optionen

Prüfen welche Codecs sind installiert sind???

Offene Frage von "torud"
Ein Thema von torud · begonnen am 26. Nov 2004 · letzter Beitrag vom 26. Nov 2004
Antwort Antwort
Seite 2 von 2     12   
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#11

Re: Prüfen welche Codecs sind installiert sind???

  Alt 26. Nov 2004, 13:21
Sorry, aber ich kann kein C!
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#12

Re: Prüfen welche Codecs sind installiert sind???

  Alt 26. Nov 2004, 13:22
Zitat von torud:
Oje und wie löse ich nun diese Problem???
Zitat von Steve:
ich werf hier mal ICLOCATE in den Raum.
MSDN sagt dazu:
Pointer to a BITMAPINFOHEADER structure defining the input format. A compressor handle is not returned unless it supports this format.

Dazu musste zwar vermutlichst Erstma das Video öffnen, um an nen Bitmapinfoheader zu kommen, aber dafür biste auf der sicheren Seite.

Btw: Warum nicht einfach Video öffnen lassen und wenns net geht, merkt das der User schon und kann DivX dann selber von CD installieren... AcrobatReader installiert sich ja auch nich selbständig, nur weil ich ne PDF runtergeladen hab


Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#13

Re: Prüfen welche Codecs sind installiert sind???

  Alt 26. Nov 2004, 13:35
Zitat von torud:
Sorry, aber ich kann kein C!
Schau dir die Beispiele an. Die wirst du auch verstehen, wenn du kein C kannst. Brauchen nur zwei Records gefüllt werden und einmal die Funktion ICLocate aufrufen. Das ist nichts schweres bei. Nur ein bißchen Tipparbeit.
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#14

Re: Prüfen welche Codecs sind installiert sind???

  Alt 26. Nov 2004, 13:38
Du schriebst:
Code:
Dazu musste zwar vermutlichst Erstma das Video öffnen, um an nen Bitmapinfoheader zu kommen, aber dafür biste auf der sicheren Seite.
Meinst Du, ich solle es mit Shellexecute versuchen zu öffnen oder meinst du ich soll mir den Header mal durchlesen!?
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#15

Re: Prüfen welche Codecs sind installiert sind???

  Alt 26. Nov 2004, 14:15
Hi,

nein das hab ich nicht gemeint -g- Aber ich hab noch ne andere, imho noch einfachere Möglichkeit gefunden, die Codecs aufzulisten. Bisschen umschreiben und schon bekommste raus, ob der gesuchte Codec installiert ist:

Delphi-Quellcode:
(*
Benötigte Konstanten
--------------------
(hier werden als Beispiel ICMODE_FASTDECOMPRESS und ICTYPE_VIDEO benutzt)
*)

CONST
  ICMODE_COMPRESS = 1;
  ICMODE_DECOMPRESS = 2;
  ICMODE_FASTDECOMPRESS = 3;
  ICMODE_QUERY = 4;
  ICMODE_FASTCOMPRESS = 5;
  ICMODE_DRAW = 8;

  ICTYPE_VIDEO = ord ('v') +
                 ord ('i') shl 8 +
                 ord ('d') shl 16 +
                 ord ('c') shl 24;

(*
Benötigte Typen
----------------
*)

TYPE
  TICInfo = packed record
  // enthält Informationen über De/Compressor
    dwSize,
    fccType,
    fccHandler,
    dwFlags,
    dwVersio,
    dwVersionICM : DWORD;
    szName : array [0..15] of wchar;
    szDescription : array [0..127] of wchar;
    szDriver : array [0..127] of wchar;
  end;

(*
Benötigte Funktionen
--------------------
*)

  function ICInfo (fccType, fccHandler : DWORD; var ICInfo: TICInfo): BOOL;
  stdcall; external 'msvfw32.dllname 'ICInfo';

  function ICGetInfo (Handle: THandle; var ICInfo: TICInfo; cb: DWORD): LRESULT;
  stdcall; external 'msvfw32.dllname 'ICGetInfo';

  function ICClose (Handle: THandle): LRESULT;
  stdcall; external 'msvfw32.dllname 'ICClose';

  function ICOpen (fccType, fccHandler : DWORD; wMode: UINT): THandle;
  stdcall; external 'msvfw32.dllname 'ICOpen';

...

IMPLEMENTATION
...


PROCEDURE EnumerateVideoCodecs(aStrings : TStrings);
// Alle gefundenen Video-Codecs, die den Kriterien
// (hier: ICMODE_FASTDECOMPRESS =
// "Decompressor will perform fast (real-time) decompression")
// entsprechen, werden an aStrings angehängt.
VAR
  i : integer;
  info : TICInfo;
  hic : THandle;
begin
  i:=0;
  WHILE ICInfo(ICTYPE_VIDEO, i, info) DO
  BEGIN
    Hic := ICOpen(ICTYPE_VIDEO, i, ICMODE_FASTDECOMPRESS);
    IF Hic<>0 THEN
    BEGIN
      IF ICGetInfo(hic,info,SizeOf(info)) <> 0 THEN
      aStrings.Add(info.szName + ' (' + info.szDescription + ', ' + info.szDriver+ ')');
      ICClose(Hic);
    END;
    inc(i);
  END;
END;


{ ******************************* }

//edit: Beispielaufruf
procedure TForm1.FormCreate(Sender: TObject);
begin
  EnumerateVideoCodecs(Memo1.Lines);
end;
(abgeleitet von MSDN-Beispielen, Konstanten aus VfW.pas entnommen)


Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#16

Re: Prüfen welche Codecs sind installiert sind???

  Alt 26. Nov 2004, 14:19
wow, merci erstmal!
werds mir ansehen und versuchen hinzubekommen!
Danke
Tom
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 15:55 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