使用视屏捕获.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用视屏捕获

3.2使用视频捕获 3.2.1创建捕获窗体 下面的例子通过使用capCreateCaptureWindow函数来创建一个捕获窗体 hWndC = capCreateCaptureWindow ( (LPSTR) My Capture Window, // 如果是Pop-up窗口的窗口名称 WS_CHILD | WS_VISIBLE, // 窗口类型 0, 0, 160, 120, // 窗口位置和尺寸 (HWND) hwndParent, (int) nID /* child ID */); ? 3.2.2连接到一个捕获驱动器 下面举例,如何通过捕获窗口的句柄hWndC连接到MS VIDEO驱动程序上,同时还演示了如何断开连接。使用capDriverDisconnect: fOK = SendMessage (hWndC, WM_CAP_DRIVER_CONNECT, 0, 0L); // 或者使用宏连接: // fOK = capDriverConnect(hWndC, 0); ? // 关闭连接 capDriverDisconnect (hWndC); ? 3.2.3列举安装的捕获驱动程序 使用capGetDriverDescription 函数来获得系统已经安装的所有捕获驱动程序的名称和版本。 char szDeviceName[80]; char szDeviceVersion[80]; for (wIndex = 0; wIndex 10; wIndex++) { if (capGetDriverDescription (wIndex, szDeviceName, sizeof (szDeviceName), szDeviceVersion, sizeof (szDeviceVersion)) { // 加入名字到一个已经安装的设备列表中 // 让用户选择一个使用。 } } ? ? 3.2.4获得捕获驱动器的性能参数 WM_CAP_DRIVER_GET_CAPS消息可以返回捕获驱动程序以及其硬件的性能参数。这些信息存放在一个CAPDRIVERCAPS的数据结构中。当你的应用程序的捕获窗口连接到一个新的捕获驱动器后,都会刷新这个CAPDRIVERCAPS数据结构。下面将使用capDriverGetCaps宏来获得捕获设备的性能参数。 CAPDRIVERCAPS CapDrvCaps; SendMessage (hWndC, WM_CAP_DRIVER_GET_CAPS, sizeof (CAPDRIVERCAPS), (LONG) (LPVOID) CapDrvCaps); // 或者,使用宏来获得驱动器的新能参数 // capDriverGetCaps(hWndC, CapDrvCaps, sizeof (CAPDRIVERCAPS)); ? 3.2.5获得捕获窗口状态(Status) 下面例子使用SetWindowPos函数区设置捕获窗口的尺寸,这个尺寸的大小是基于输入的视频流大小的。输入视频流的尺寸大小由capGetStatus宏来获得,获得信息放在一个CAPSTATUS的数据结构体中。 ? CAPSTATUS CapStatus; capGetStatus(hWndC, CapStatus, sizeof (CAPSTATUS)); SetWindowPos(hWndC, NULL, 0, 0, CapStatus.uiImageWidth, CapStatus.uiImageHeight, SWP_NOZORDER | SWP_NOMOVE); 3.2.6显示对话框区设置视频属性 每个捕获驱动器都可以提高3个以上的不同对话框来控制数字视频的特性和捕获处理。下面的例子示范如何显示这些对话框。在显示每个对话框前,该例会调用capDriverGetCaps宏并且检查返回的CAPDRIVERCAPS对象来查看是否可以能够显示特定的对话框。 ? CAPDRIVERCAPS CapDrvCaps; capDriverGetCaps(hWndC, CapDrvCaps, sizeof (CAPDRIVERCAPS)); // 视频源对话框 if (CapDriverCaps.fHasDlgVideoSource) capDlgVideoSource(hWndC); // 视频格式对话框 if (

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档