In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

WebCam con AviCap32.DLL

Foro público de Xailer en español
Responder
RFlores
Mensajes: 1
Registrado: Vie Oct 13, 2023 4:09 am

WebCam con AviCap32.DLL

Mensaje por RFlores »

Hola a todos:

Estoy desempolvandome en la programacion avanzada con Xailer y estoy haciendo una pequeña interfaz para manipular la cámara web del ordenador para tomar fotos.

Para esto, estoy basándome en la DLL del API de Windows: AviCap32.dll, que se supone provee una manera "rápida y fácil" de conectar con dispositivos de captura de video y seguramente así es, porque la DLL solo trae 2 funciones principales, y el resto de la funcionalidad de obtiene usando SendMessage().

Documentación de AviCap32.dll está disponible en: https://learn.microsoft.com/en-us/windo ... urewindowa

Después de investigar un rato ejemplos en VB6, incluso en FW, llegué a un video en Delphi, el cual decidí seguir para hacer mi implementación en xailer: https://www.youtube.com/watch?v=Fl-5ImV_PE4&t=1366s

Básicamente todos los ejemplos hacen lo mismo:

1) Crean una clase para manipular la webcam, y desde esta clase hacen llamadas a las funciones de AviCap32.dll
2) Crean un formulario con 4 controles: un "contenedor" para el objeto WebCam, en VB utilizan una imagen, en Delphi un Panel, en FW lo pintan directo sobre el dialogo y yo decidí utilizar un BEVEL para contener la captura de la WebCam. Los otros 3 controles son botones para conectar con la cámara, desconectarla y obtener el "frame" de la imagen, o sea, sacar una foto.
3) En todos los lenguajes observé que toda "la magia" ocurre en los eventos ON INITIALIZE de los formularios, donde se crea el objeto WebCam, y este objeto debe utiliar el handle del contenedor para llamar a la función capCreateCaptureWindowA() del AviCap32.DLL que se supone que es la ventana de la cámara web, misma que "apoderara" del control contenedor y lo utilizara para desplegar las imágenes de la webcam.

Y hasta aquí es donde llego, supongo que algo estoy haciendo mal con los Handles de los controles, que mi formulario se despliega correctamente, se pintan los 3 botones pero cuando llega el momento de pintar el BEVEL contenedor, aparece un bonito GPF y el programa aborta.

El proyecto lo pueden descargar de: https://www.virtual-pac.net/XaWebCam.zip, por si alguien quiere echarle un vistazo a ver en donde me estoy equivocando (esto seguro que el bosque no me deja ver los arboles), supongo que varios agradeceremos tener una herramienta para capturar imágenes de una cámara web, ya después si alguno con mas paciencia que yo lo quiere convertir en control nativo para Xailer, pues bienvenido.

Saludos y nos vemos en Noviembre ¿ no ?

Rene Flores
Avatar de Usuario
xhermita
Mensajes: 177
Registrado: Vie Feb 18, 2011 10:05 pm
Ubicación: Las Palmas de Gran Canaria
Contactar:

Re: WebCam con AviCap32.DLL

Mensaje por xhermita »

Hora Rene;

En este hilo publico Bingen los que hemos estado usando desde hace unos años, incluso la hemos utilizado con cámaras IP con una utilidad que las instalaba como webcam.

viewtopic.php?p=54768&hilit=webcam#p54768

Se que con algunas cámaras, sobre todo las integradas en alguno portátiles no funcionaba bien. Se conecta pero no captura la imagen.
Recuerdo que hace unos años conseguimos una utilidad por linea de comandos que la desbloqueaba, pero no doy con ella.

Saludos.

Pd: En Noviembre nos vemos ;)
Pedro Amaro
2PC Service

Xailer / Néfele / MySQL-MariaDB / SQLServer
buzonjmartial
Mensajes: 100
Registrado: Vie Abr 10, 2009 11:02 pm

Re: WebCam con AviCap32.DLL

Mensaje por buzonjmartial »

Buenos días,

escuché algo de una reunión esperando a poner fechas, pero no he visto nada organizado ni publicado para plantear fecha y alojamiento.

¿Alguien sabe donde está esa información?
Un Saludo,
Joaquín Martínez
Responder