Actualizando las pruebas
Antes que nada, felicitaciones a casacham por el aporte, bueno les cuento lo que se:
Antes de toparme con este foro había probado varios componentes y tuve resultados con algunos de prueba en Windows XP 32 con Delphi 7. Después de migrar a Windows 7 64 y tras mucho respaldar archivos no logro encontrar dichos componentes. Ni modo a empezar otra vez .
He probado el código tal cuál dice casacham, al descomprimir el archivo todo el fuente y lo necesario está ahí. Ejecuto el exe que viene integrado y todo a las mil maravillas, pero al compilar yo mismo el código sin hacer cambio alguno, me da un error pero se soluciona con poner ";" después de stdcall en webcam.pas. Pero aún así sucede lo mismo del panel negro y nada de imagen ni de encendido de webcam .
Antes que modificar el código explico el porque del mal funcionamiento y como es que podría arreglarse para algunos, más no para mi todavía pués necesito utilizar una webcam externa.
Utilizo Delphi 2009 en Windows 7 Homepremium 64 en una Toshiba A505 (Laptop), ésta tiene una webcam integrada pero conecto además una webcam phillips CN700 algo ya viejita; hago notar que para que funcione en Windows 7 64 la webcam tiene que ser reconocida por el mismo windows Drivers y todo. Entonces ¿qué pasa con el código?
1. El Exe incluido funciona con ambas cámaras conectadas y manda un cuadro de diálogo en el cual podemos seleccionar el dispositivo al cual conectarnos .
2. El Exe generado de la recompilación no lo hace con ninguna, estando ambas conectadas .
3. Si desconectamos la webcam externa, cualquier Exe funciona y reconoce la cámara integrada en la laptop, pero ya no sale el cuadro de selección de dispositivo mencionado en el paso 1 .
4. Es obvio que no podemos quitar la cámara integrada sin desinstalar los drivers y es mucho rollo así que mejor no lo he intentado para probar con la cámara phillips externa únicamente.
5. De lo anterior podemos pensar que el problema radica en la llamada a la librería avicap32.dll.
6. ¿Habrá alguna forma de indicarle a la librería que queremos el dispositivo 0,1,2... (WebcamID supongo) en lugar de esperar a ver si reconoce cualquier dispositivo?, mejor aún, ¿qué valor es el que identifica cada dispositivo?, ya he probado los primeros valores 0..9 y nada y da lo mismo el valor que se introduzca si sólo hay una cámara en el equipo.
Espero podamos dar solución a esta interrogante.
Saludos a todos.
|