AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Webcam Code mehrmals ausführen
Thema durchsuchen
Ansicht
Themen-Optionen

Webcam Code mehrmals ausführen

Ein Thema von Larsi · begonnen am 3. Feb 2008 · letzter Beitrag vom 4. Feb 2008
 
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#1

Webcam Code mehrmals ausführen

  Alt 3. Feb 2008, 16:59
hi,
in der codelib gibt es ja folgenden code:
Delphi-Quellcode:
//Zuerst brauchst du folgende Konstanten
const
  WM_CAP_DRIVER_CONNECT = WM_USER + 10;
  WM_CAP_EDIT_COPY = WM_USER + 30;
  WM_CAP_SET_PREVIEW = WM_USER + 50;
  WM_CAP_SET_OVERLAY = WM_USER + 51;
  WM_CAP_SET_PREVIEWRATE = WM_USER + 52;

implementation

{$R *.dfm} 

//Dann brauchst du noch das hier
function capCreateCaptureWindow(lpszWindowName: LPCSTR;
  dwStyle: DWORD;
  x, y,
  nWidth,
  nHeight: integer;
  hwndParent: HWND;
  nID: integer): HWND; stdcall;
  external 'AVICAP32.DLLname 'capCreateCaptureWindowA';

procedure TForm1.LaberLaber; //halt irgendne Prozedur, ich habs im Formcreate, damit ich gleich was seh ^^
var handle:THandle;
begin
  handle := capCreateCaptureWindow('Video',ws_child+ws_visible, 0,
  0, 320, 240, Panel1.Handle, 1); //Wie du siehst, brauchst du ein Panel in diesem Beispiel ;-)
  SendMessage(handle, WM_CAP_DRIVER_CONNECT, 0, 0);
  SendMessage(handle, WM_CAP_SET_PREVIEWRATE, 30, 0);
  sendMessage(handle, WM_CAP_SET_OVERLAY, 1, 0);
  SendMessage(handle, wm_cap_set_preview, 1, 0);
end;

Aber wenn man dass in ne timer prozedur tue, dann ist angeblich schon irgendnein videotreiber verwendet. (verständlich, weil ich ja zweimal auf das gleiche zugriefen will, oda?)

meine frage ist jetzt wie ich das so mache dass es wieder so geht wie beim ersten mal nach dem zweiten mal . gibts irgendein Driver Disconnect was ich verwenden kann, hab das hier irgendwo mal gelesen, also mit dem diconnecten.

Ich habe es ja auch schon so ausprobiert:
SendMessage(handle, WM_CAP_DRIVER_DISCONNECT, 0, 0); bzw. dann in const auch dass:
WM_CAP_DRIVER_DISCONNECT = WM_USER + 10; aber wenn der code das zweite mal läuft kommt die gleiche meldung!!!

Der Fehler ist jetzt als png datei im anhang!
MFG Lars Wiltfang


Noch ne kleine Frage die grad aufkommt: Wie kann man das ganze schneller machen
Angehängte Grafiken
Dateityp: png screenshot_591.png (14,8 KB, 26x aufgerufen)
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
 


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 05:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz