用VC++ 5.0实现视频捕获编程
2008-11-13 19:31:19 来源:WEB开发网CAPSTATUSgCapStatus;//捕获窗的状态
2、处理WM_CREATE消息:
//创建捕获窗,其中hWnd为主窗口句柄
ghWndCap=capCreateCaptureWindow((LPSTR)"CaptureWindow",WS_CHILD|WS_VISIBLE,0,0,300,240,(HWND)hWnd,(int)0);
//登记三个回调函数,它们应被提前申明
capSetCallbackOnError(ghWndCap,(FARPROC)ErrorCallbackProc);capSetCallbackOnStatus(ghWndCap,(FARPROC)StatusCallbackProc);capSetCallbackOnFrame(ghWndCap,(FARPROC)FrameCallbackProc);
capDriverConnect(ghWndCap,0);//将捕获窗同驱动器连接
//获得驱动器的能力,相关的信息放在结构变量gCapDriverCaps中
capDriverGetCaps(ghWndCap,&gCapDriverCaps,sizeof(CAPDRIVERCAPS));
3、处理WM_CLOSE消息:
//取消所登记的三个回调函数
capSetCallbackOnStatus(ghWndCap,NULL);
capSetCallbackOnError(ghWndCap,NULL);
capSetCallbackOnFrame(ghWndCap,NULL);
capCaptureAbort(ghWndCap);//停止捕获
capDriverDisconnect(ghWndCap);//将捕获窗同驱动器断开
4、处理菜单项Preview:
capPreviewRate(ghWndCap,66);//设置Preview模式的显示速率
capPreview(ghWndCap,TRUE);//启动Preview模式
5、处理菜单项Overlay:
if(gCapDriverCaps.fHasOverlay)//检查驱动器是否有叠加能力
capOverlay(ghWndCap,TRUE);//启动Overlay模式
6、处理菜单项Exit:
SendMessage(hWnd,WM_CLOSE,wParam,lParam);
更多精彩
赞助商链接