finestra di acquisizione video continua a comparire con PC embedded webcam Delphi app
-
29-09-2019 - |
Domanda
Ho un'applicazione Delphi che prende istantanee da una webcam ad intervalli di 1 sec. Sul PC di sviluppo va bene, ma sulla piattaforma di destinazione (PC tablet Atom-based in esecuzione integrata di Windows 7 con una fotocamera diversa) è estremamente traballante. Dopo un riavvio e la prima volta l'applicazione viene eseguita, normalmente riesce a inizializzare il webcam OK e ottenere cornici regolari da esso, ma la prossima volta che l'applicazione è in esecuzione, non riesce a individuare il driver della webcam, e anche apre una finestra di dialogo mi chiede di specificare la sorgente video, presumibilmente perché non riesce a trovare uno ..
La mia domanda: Sono sicuro che questo è legato alle chiamate API di acquisizione video non essere nel giusto ordine o qualcosa del genere, ma c'è uno strumento (come Wireshark) che mi permetterà di fiutare le chiamate API, in modo da poter confrontare ciò che sta accadendo sul sistema Windows 7 incorporato per il sistema di sviluppo XP che le opere?
Sto usando le seguenti chiamate / messaggi:
inizializzazione:
capCreateCaptureWindow
WM_CAP_DRIVER_CONNECT
WM_CAP_SET_PREVIEW (false)
WM_CAP_SET_VIDEOFORMAT (as camera after boot is in format I can't handle)
WM_CAP_GET_VIDEOFORMAT
Timer on 1 sec:
WM_CAP_SET_CALLBACK_FRAME
WM_CAP_GRAB_FRAME_NOSTOP
Il callback:
WM_CAP_SET_CALLBACK_FRAME (nil)
In arrivo:
WM_CAP_ABORT
WM_CAP_STOP
WM_CAP_DRIVER_DISCONNECT
Soluzione
Il primo passo è molto più facile: Hai fatto assolutamente sicuri di avere lo stesso driver?
Potrebbe anche essere che la sequenza di rilevare - avviare acquisizione è troppo veloce per questo sistema lento. Vedere se l'introduzione di pochi secondi inbetween sonno aiuta ??p>