![]() |
Webcam Code mehrmals ausführen
Liste der Anhänge anzeigen (Anzahl: 1)
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.DLL' name '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:
Delphi-Quellcode:
bzw. dann in const auch dass:
SendMessage(handle, WM_CAP_DRIVER_DISCONNECT, 0, 0);
Delphi-Quellcode:
aber wenn der code das zweite mal läuft kommt die gleiche meldung!!!
WM_CAP_DRIVER_DISCONNECT = WM_USER + 10;
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 :) |
Re: Webcam Code mehrmals ausführen
Welcher Code genau wird im Timer ausgeführt? capCreateCaptureWindow darfst du nur einmal ausführen.
|
Re: Webcam Code mehrmals ausführen
Zitat:
warum soll der Code denn in einem Timer laufen? Es wird doch eine Videostream angezeigt und nicht immer ein einzelnes Bild aufgenommen. |
Re: Webcam Code mehrmals ausführen
Zitat:
WM_USER + 10 ist ja schon connect. Du schickst also den gleichen Befehl (Verbinden), nur benutzt Du dafür einen anderen Namen der Konstante. Du müsstest rausfinden, welcher Wert (anstelle von 10 = connect) für Disconnect (auf gut glück geraten: die 20 ist noch nicht definiert - das könnte also sein) steht, und den dann benutzen. |
Re: Webcam Code mehrmals ausführen
Delphi-Quellcode:
WM_CAP_START = WM_USER;
WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11; |
Re: Webcam Code mehrmals ausführen
oh wusste gar nicht das dass n livestream is^^ dachte das macht nur bilder :) hat sich jetzt alles geklärt!
MFG Lars Wiltfang |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:18 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