|
发表于 2023-5-18 00:13:03
|
显示全部楼层
摄像头句柄 = 控件获取子窗口句柄("摄像头")
//1342177280
视频 = 动态库调用("avicap32.dll", "long", "capCreateCaptureWindowA", "char *", "ddd", "long", 1342177280, "long", 5, "long", 5, "long", 返回宽2 * 0.5 - 35, "long", 返回高2 * 0.5 + 10, "long", 摄像头句柄, "long", 1000)
调试输出(视频)
//获取摄像头视频模块
变量 WM_USER = 1024
变量 WM_CAP_START = WM_USER
变量 WM_CAP_UNICODE_START = WM_USER + 100 //开始
变量 WM_CAP_GET_CAPSTREAMPTR = WM_CAP_START + 1 //获得 CAPSTR EAMPTR
变量 WM_CAP_SET_CALLBACK_ERROR = WM_CAP_START + 2 //设置回调错误
变量 WM_CAP_SET_CALLBACK_STATUSA = WM_CAP_START + 3 //设置回调状态
变量 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_GET_USER_DATA = WM_CAP_START + 8 //获得使用者数据
变量 WM_CAP_SET_USER_DATA = WM_CAP_START + 9 //设置使用者数据
变量 WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10 //驱动程序连接
变量 WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11 //断开启动程序连接
变量 WM_CAP_DRIVER_GET_NAME = WM_CAP_START + 12 //获得驱动程序名字
变量 WM_CAP_DRIVER_GET_VERSION = WM_CAP_START + 13 //获得驱动程序版本
变量 WM_CAP_DRIVER_GET_CAPS = WM_CAP_START + 14 //获得驱动程序性能
变量 WM_CAP_FILE_SET_CAPTURE_FILE = WM_CAP_START + 20 //设置捕获文件的文件名
变量 WM_CAP_FILE_GET_CAPTURE_FILE = WM_CAP_START + 21 //获得捕获文件的文件名
变量 WM_CAP_FILE_SAVEAS = WM_CAP_START + 23 //另存文件为
变量 WM_CAP_FILE_SAVEDIB = WM_CAP_START + 25 //保存文件
// out of order to save on ifdefs
变量 WM_CAP_FILE_ALLOCATE = WM_CAP_START + 22 //分派文件, 为捕获文件建一个指定大小的文件
变量 WM_CAP_FILE_SET_INFOCHUNK = WM_CAP_START + 24 //设置开始文件
变量 WM_CAP_EDIT_COPY = WM_CAP_START + 30 //编辑复制,把图象考入剪贴板
变量 WM_CAP_SET_AUDIOFORMAT = WM_CAP_START + 35 //设置音频格式
变量 WM_CAP_GET_AUDIOFORMAT = WM_CAP_START + 36 //捕获音频格式
变量 WM_CAP_DLG_VIDEOFORMAT = WM_CAP_START + 41 //1065 打开视频格式设置对话框, 选择数字视频的框架大小和视频图像的色深,以及捕获视频图像的压缩格式。
变量 WM_CAP_DLG_VIDEOSOURCE = WM_CAP_START + 42 //1066 打开属性设置对话框,设置对比度、亮度等。视频源对话框) 选择视频输入通道和视频图像的动态参数。
变量 WM_CAP_DLG_VIDEODISPLAY = WM_CAP_START + 43 //1067 打开视频显示对话框
变量 WM_CAP_GET_VIDEOFORMAT = WM_CAP_START + 44 //1068 获得视频格式
变量 WM_CAP_SET_VIDEOFORMAT = WM_CAP_START + 45 //1069 设置视频格式
变量 WM_CAP_DLG_VIDEOCOMPRESSION = WM_CAP_START + 46 //1070 打开压缩设置对话框
变量 WM_CAP_SET_PREVIEW = WM_CAP_START + 50 //设置预览模式
变量 WM_CAP_SET_OVERLAY = WM_CAP_START + 51 //设置覆盖
变量 WM_CAP_SET_PREVIEWRATE = WM_CAP_START + 52 //设置预览模式下图像的帧速度
变量 WM_CAP_SET_SCALE = WM_CAP_START + 53 //设置预览视频的缩放比例
变量 WM_CAP_GET_STATUS = WM_CAP_START + 54 //获得状态
变量 WM_CAP_SET_SCROLL = WM_CAP_START + 55 //设置卷
变量 WM_CAP_GRAB_FRame = WM_CAP_START + 60 //逮捕结构
变量 WM_CAP_GRAB_FRame_NOSTOP = WM_CAP_START + 61 //停止逮捕结构,截取当前图象
变量 WM_CAP_SEQUENCE = WM_CAP_START + 62 //次序,捕捉到文件
变量 WM_CAP_SEQUENCE_NOFILE = WM_CAP_START + 63 //没有文件
变量 WM_CAP_SET_SEQUENCE_SETUP = WM_CAP_START + 64 //设置当前捕获的帧频率
变量 WM_CAP_GET_SEQUENCE_SETUP = WM_CAP_START + 65 //获得当前捕获的帧频率
变量 WM_CAP_SET_MCI_DEVICE = WM_CAP_START + 66 //设置媒体控制接口
变量 WM_CAP_GET_MCI_DEVICE = WM_CAP_START + 67 //获得媒体控制接口
变量 WM_CAP_STOP = WM_CAP_START + 68 //停止捕捉
变量 WM_CAP_ABORT = WM_CAP_START + 69 //异常中断
变量 WM_CAP_SINGLE_FRame_OPEN = WM_CAP_START + 70 //打开单一的结构
变量 WM_CAP_SINGLE_FRame_CLOSE = WM_CAP_START + 71 //关闭单一的结构
变量 WM_CAP_SINGLE_FRame = WM_CAP_START + 72 //单一的结构
变量 WM_CAP_PAL_OPEN = WM_CAP_START + 80 //打开视频
变量 WM_CAP_PAL_SAVE = WM_CAP_START + 81 //保存视频
变量 WM_CAP_PAL_PASTE = WM_CAP_START + 82 //粘贴视频
变量 WM_CAP_PAL_AUTOCREATE = WM_CAP_START + 83 //自动创造
变量 WM_CAP_PAL_MANUALCREATE = WM_CAP_START + 84 //手动创造
// Following added post VFW 1.1
变量 WM_CAP_SET_CALLBACK_CAPCONTROL = WM_CAP_START + 85 // 设置收回的错误
变量 WM_CAP_END = WM_CAP_SET_CALLBACK_CAPCONTROL
//设置回调视频流
变量 A = 窗口发送消息(视频, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0)
调试输出(A)
//设置回调错误
变量 B = 窗口发送消息(视频, WM_CAP_SET_CALLBACK_ERROR, 0, 0)
调试输出(B)
//设置回调状态
变量 C = 窗口发送消息(视频, WM_CAP_SET_CALLBACK_STATUSA, 0, 0)
调试输出(C)
//驱动程序连接
变量 D = 窗口发送消息(视频, WM_CAP_DRIVER_CONNECT, 0, 0)
调试输出(D)
如果(D != 1)
窗口发送消息(视频, WM_CAP_DRIVER_CONNECT, 0, 0)
结束
//设置预览视频的缩放比例
变量 E = 窗口发送消息(视频, WM_CAP_SET_SCALE, 1, 0)
调试输出(E)
//设置预览模式下图像的帧数
变量 F = 窗口发送消息(视频, WM_CAP_SET_PREVIEWRATE, 60, 0)
调试输出(F)
//设置覆盖 不成功
变量 G = 窗口发送消息(视频, WM_CAP_SET_OVERLAY, 1, 0)
调试输出(G)
如果(G != 1)
窗口发送消息(视频, WM_CAP_SET_OVERLAY, 1, 0)
结束
//设置预览模式
变量 H = 窗口发送消息(视频, WM_CAP_SET_PREVIEW, 1, 0)
调试输出(H)
//保存文件 不会相关操作
//变量 C = 窗口发送消息(视频, WM_CAP_FILE_SAVEDIB,0, 获取变量地址(LJ))
//调试输出(C)
//编辑复制,把图象考入剪贴板
//变量 EA = 窗口发送消息(视频, WM_CAP_EDIT_COPY, 0, 0)
//调试输出(EA)
//在win7上能成功,win10、11摄像头黑屏 但是录制视屏存存出来可以用 |
|