une explication jen ai pas, par contre j'ai une idée, j'ai fais un
petit programme de detection de mouvement de l'image de la webcam, mais
je ne me suis pas servi capCaptureSingleFrame, g utilisé :
- capCreateCaptureWindow, pour créé une fenetre de capture
- capDriverConnect, pour se connecter au driver de la cam
- capPreviewRate, pour définir le taux de rafréchissement
- capPreview, pour afficher l'image
Ce qui donne le petit exemple suivant (en prennant hWnd, handle vers ta fenetre mère):
//Préparation de la fenêtre de capture
hWndc = capCreateCaptureWindow("Fenêtre de capture", WS_CHILD | WS_VISIBLE,0,0,640,480,hWnd,0);
hDcc = GetDC(hWndc);
//Connection au driver de la WebCam
capDriverConnect(hWndc,0);
//Paramètrage du Rafraichissement
capPreviewRate(hWndc,1);
//Visualisation de l'image
capPreview(hWndc,TRUE);
Voila, j'éspère que sa t'aura aidé un peu, et de toute facon, tout est ds la MSDN.
salu,
en fait tu en fais ce que tu veux du code, mais si tu veux l'utiliser, tu n'a qu'a rajouter ca dans le code de ton bouton par exemple, avant n'oubli pas d'avoir inclu : vfw.h.
une petite précision aussi, capPreview(hWndc,TRUE); sert à actualiser l'image de la webcam, donc bien évidement, il faut mettre cette fonction dans un boucle, si tu veux obtenir la video, logique ^^.
Si tu programme avec les APIs, il te suffis de mettre cette fonction dans la boucle principale de ton programme, lorsque celui ci n'a aucun message à traiter.
Si tu programme avec les MFC, tu peux toujours placer cette fonction (capPreview) dans un thread, et le tour est joué !
J'espère avoir répondu à ta question, sinon hésite pas !
le fichier vfw.h et la lib vfw32.lib je lait trouve ou?
je sais que je vais faire ça :
#pragma comment(lib,"vfw32.lib") // -> LA LIBRAIRIE
#include <vfw.h> // VIDEO FOR WINDOWS (VFW)