![]() |
#2
大树临风2021-02-20 10:31
以下测试可用
*--以下定义摄像头扩展应用:一般放到主程序或表单(集)的Load事件中 Public WM_CAP_DRIVER_DISCONNECT Public hwndc,WM_CAP_SAVEDIB,WM_CAP_FILE_SET_CAPTURE_FILEA,WM_CAP_SEQUENCE,WM_CAP_STOP Declare Integer capCreateCaptureWindowA In "AVICAP32.DLL" String lpszWindowName ,Integer dwStyle ,; Integer x, Integer Y, Integer nWidth ,Integer nHeight,Integer ParentWin,Integer nId Declare Integer SendMessage In "user32" Integer HWnd, Integer wmsg,Integer wpar1, Integer wpar2 Declare Integer SendMessage In "user32" As SendMessageA Integer HWnd, Integer wmsg,Integer wpar1,String wpar2 hwndc=0 *--定以上义摄像头扩展应用:一般放到主程序或表单(集)的Load事件中 *--显示:可以放到按钮或表单(集)的Init事件中,!!! WM_USER = 1024 WM_CAP_START = WM_USER WM_CAP_STOP = WM_CAP_START + 68 WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10 WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11 WM_CAP_SAVEDIB = WM_CAP_START + 25 WM_CAP_GRAB_FRAME = WM_CAP_START + 60 WM_CAP_SEQUENCE = WM_CAP_START + 62 WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20 WM_CAP_SEQUENCE_NOFILE =WM_CAP_START+ 63 WM_CAP_SET_OVERLAY =WM_CAP_START+ 51 WM_CAP_SET_PREVIEW =WM_CAP_START+ 50 WM_CAP_SET_CALLBACK_VIDEOSTREAM = WM_CAP_START +6 WM_CAP_SET_CALLBACK_ERROR=WM_CAP_START +2 WM_CAP_SET_CALLBACK_STATUSA= WM_CAP_START +3 WM_CAP_SET_CALLBACK_FRAME= WM_CAP_START +5 WM_CAP_SET_SCALE=WM_CAP_START+ 53 WM_CAP_SET_PREVIEWRATE=WM_CAP_START+ 52 WM_CAP_SET_MCI_DEVICE=WM_CAP_START+ 66 &&//设置媒体控制接口 WM_CAP_DLG_VIDEOSOURCE =WM_CAP_START+ 42 &&1066 打开属性设置对话框,设置对比度、亮度等。(视频源对话框) 选择视频输入通道和视频图像的动态参数。 *第3、4个参数是定义显示位置,第5、6个参数是定义显示大小。 hWndC = capCreateCaptureWindowA('My Own Capture Window',1342177280,100,100,320,240,Thisform.HWnd ,0) If hWndC<>0 SendMessage(hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0) &&设置回调视频流 SendMessage(hWndC, WM_CAP_SET_CALLBACK_ERROR, 0, 0) &&设置回调错误 SendMessage(hWndC, WM_CAP_SET_CALLBACK_STATUSA, 0, 0) &&设置回调状态,原始值为:0,0 SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0) &&驱动程序连接 SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0) &&驱动程序连接 SendMessage(hWndC, WM_CAP_SET_SCALE, 1, 0) &&设置预览视频的缩放比例 SendMessage(hWndC, WM_CAP_SET_PREVIEWRATE, 66, 0) &&设置预览模式下图像的帧速度 SendMessage(hWndC, WM_CAP_SET_OVERLAY, 1, 0) &&设置覆盖 SendMessage(hWndC, WM_CAP_SET_PREVIEW, 1, 0) &&设置预览模式 SendMessage(hWndC, WM_CAP_SET_MCI_DEVICE, 1, 0) &&设置媒体控制接口 ENDIF *--关闭显示: IF hWndC<>0 SendMessage(hWndC,WM_CAP_DRIVER_DISCONNECT, 0, 0) hWndC=0 ENDIF |
https://blog. 这个例子测试黑屏!
早两年有测试过,可行,不知何故现在测试是黑屏的,没有图像!之前的测试代码不知放哪里了……
[此贴子已经被作者于2021-2-19 16:13编辑过]