TC官方合作论坛

 找回密码
 立即注册
查看: 1250|回复: 4

[讨论] 求助avicap32.dll 的照相使用实例

[复制链接]
发表于 2017-7-4 15:58:41 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
avicap32.dll  求这个DLL的调用实例!!!我想截图
回复

使用道具 举报

发表于 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摄像头黑屏    但是录制视屏存存出来可以用
回复 支持 1 反对 0

使用道具 举报

发表于 2023-5-23 19:41:10 | 显示全部楼层
cdthinker 发表于 2023-5-18 00:13
摄像头句柄 = 控件获取子窗口句柄("摄像头")
    //1342177280
    视频 = 动态库调用("avicap32.dll", "lo ...

修改视频流可以解决黑屏
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-7 17:06:48 | 显示全部楼层
cdthinker 发表于 2023-5-18 00:13
摄像头句柄 = 控件获取子窗口句柄("摄像头")
    //1342177280
    视频 = 动态库调用("avicap32.dll", "lo ...

感谢回复。。就是不知道怎么设置不了最佳回复
回复 支持 反对

使用道具 举报

发表于 2023-6-12 22:55:30 | 显示全部楼层
rxuehao 发表于 2023-6-7 17:06
感谢回复。。就是不知道怎么设置不了最佳回复

    变量 A = 窗口发送消息(视频, WM_CAP_DLG_VIDEOSOURCE, 0, 0)//视频输入设置
    调试输出(A)   
    变量 B = 窗口发送消息(视频, WM_CAP_DLG_VIDEOFORMAT, 0, 0)//视屏格式设置
    调试输出(B)
    变量 C = 窗口发送消息(视频, WM_CAP_DLG_VIDEODISPLAY, 0, 0)//视频显示对话框
    调试输出(C)


视频格式设置为YUY2,MJPG在win10/11上被微软给禁止了,说的太消耗资源
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-3 01:41 , Processed in 0.039975 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表