El diálogo de captura de video sigue apareciendo con la aplicación de cámara web de PC integrada Delphi

StackOverflow https://stackoverflow.com/questions/4311578

Pregunta

Tengo una aplicación Delphi que toma instantáneas de una cámara web a intervalos de 1 segundo. En la PC de desarrollo va bien, pero en la plataforma de destino (PC de tableta basada en átomos que ejecuta Windows 7 incrustadas con una cámara diferente) es extremadamente escamoso. Después de un reinicio y la primera vez que se ejecuta la aplicación, normalmente logra inicializar la cámara web OK y obtener marcos regulares de ella, pero la próxima vez que se ejecute la aplicación, no puede localizar el controlador de la cámara web, y también aumenta un diálogo pidiéndome que especifique la fuente de video, presumiblemente porque no puede encontrar una ...

Mi pregunta: estoy seguro de que esto está relacionado con las llamadas de API de captura de video que no están en el orden correcto o algo así, pero ¿hay una herramienta (como Wireshark) que me permita oler las llamadas de la API, para que pueda comparar lo que está sucediendo? ¿En el sistema Windows 7 incrustado al sistema de desarrollo XP que funciona?

Estoy usando las siguientes llamadas/mensajes:

Inicialización:

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

En 1 segundo temporizador:

WM_CAP_SET_CALLBACK_FRAME
WM_CAP_GRAB_FRAME_NOSTOP

En la devolución de llamada:

WM_CAP_SET_CALLBACK_FRAME (nil)

En el acabado:

WM_CAP_ABORT
WM_CAP_STOP
WM_CAP_DRIVER_DISCONNECT
¿Fue útil?

Solución

El primer paso es mucho más fácil: ¿te aseguraste absolutamente de que tienes el mismo controlador?

También podría ser que la secuencia de Detect - Start Adquisition sea demasiado rápida para este sistema lento. Vea si la introducción de algunas secuencias de sueño en dentro ayuda

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top