Capture Webcam ne fonctionne pas
Publié : ven. 26/nov./2021 17:11
Bonjours à tous
J'ai un souci avec ce code, il refuse de fonction, je voulais simplement capturer des photos via ma webcam usb
Quelqu'un peut me dire ce qui ne fonctionne pas s'il vous plait?
Merci pour votre aide 
J'ai un souci avec ce code, il refuse de fonction, je voulais simplement capturer des photos via ma webcam usb
Quelqu'un peut me dire ce qui ne fonctionne pas s'il vous plait?
Code : Tout sélectionner
#WM_CAP_START = #WM_USER
#WM_CAP_SET_CALLBACK_YIELD = #WM_CAP_START + 4
#WM_CAP_SET_CALLBACK_FRAME = #WM_CAP_START + 5
#WM_CAP_SET_CALLBACK_VIDEOSTREAM = #WM_CAP_START + 6
#WM_CAP_SET_CALLBACK_WAVESTREAM = #WM_CAP_START + 7
#WM_CAP_DRIVER_CONNECT = #WM_USER + 10
#WM_CAP_DRIVER_DISCONNECT = #WM_USER + 11
#WM_CAP_DRIVER_GET_CAPS = #WM_CAP_START + 14
#WM_CAP_DLG_VIDEOFORMAT = #WM_CAP_START + 41
#WM_CAP_DLG_VIDEOSOURCE = #WM_CAP_START + 42
#WM_CAP_DLG_VIDEODISPLAY = #WM_CAP_START + 43
#WM_CAP_SET_PREVIEW = #WM_CAP_START + 50
#WM_CAP_SET_PREVIEWRATE = #WM_CAP_START + 52
#WM_CAP_GET_STATUS = #WM_CAP_START + 54
#WM_CAP_SET_SCALE = #WM_USER + 53
#WM_CAP_SET_CALLBACK_CAPCONTROL = #WM_CAP_START + 85
Structure VIDEOHDR
lpData.l
dwBufferLength.l
dwBytesUsed.l
dwTimeCaptured.l
dwUser.l
dwFlags.l
dwReserved.l[3]
EndStructure
Procedure FrameCallback(lwnd.l, *lpVHdr.VIDEOHDR)
For k=0 To *lpVHdr\dwBufferLength-1
Color = PeekB(*lpVHdr\lpData+k)
PokeB(*lpVHdr\lpData+k, RGB(Blue(Color), Green(Color), Red(Color)))
Next
EndProcedure
hWnd = OpenWindow(0, 0, 0, 400, 500, "WebCamTest", #PB_Window_SystemMenu)
If OpenLibrary(0, "AVICAP32.DLL")
hWebcam = CallFunction(0, "capCreateCaptureWindowA", 0, #WS_VISIBLE + #WS_CHILD, 10, 10, 380, 380, hWnd, 0)
CallFunction(0, "capSetCallbackOnFrame", hWebcam, @FrameCallback())
SendMessage_(hWebcam, #WM_CAP_DRIVER_CONNECT , 0 , 0)
SendMessage_(hWebcam, #WM_CAP_SET_SCALE , 1 , 0)
SendMessage_(hWebcam, #WM_CAP_SET_PREVIEWRATE , 50, 0)
SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW , 1 , 0)
SendMessage_(hWebcam, #WM_CAP_SET_CALLBACK_FRAME , 0 , @FrameCallback())
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW , 0, 0)
SendMessage_(hWebcam, #WM_CAP_DRIVER_DISCONNECT, "BLUBBER", 0)
CloseWindow(0)
CloseLibrary(0)
EndIf
