/* 开始捕获预览视频 */ void CMainFrame::OnVfwPreviewvideo() { // TODO: 在此添加命令处理程序代码 CAPTUREPARMS CapParms; bPreview =! bPreview; if(bPreview){ capCaptureGetSetup(m_hWndCap,&CapParms,sizeof(CAPTUREPARMS)); CapParms.dwIndexSize=324000; CapParms.fMakeUserHitOKToCapture=!CapParms.fMCIControl; CapParms.wPercentDropForError=100; CapParms.wNumVideoRequested=5; CapParms.wChunkGranularity=0; CapParms.fYield=TRUE; CapParms.fCaptureAudio=FALSE; CapParms.vKeyAbort=0; CapParms.fAbortLeftMouse=CapParms.fAbortRightMouse=FALSE; CapParms.dwRequestMicroSecPerFrame=1000000/25; capSetCallbackOnYield(m_hWndCap,NULL); capCaptureSetSetup(m_hWndCap,&CapParms,sizeof(CAPTUREPARMS)); capCaptureSequenceNoFile(m_hWndCap); m_vfwState = PREVIEW; }else{ capCaptureAbort(m_hWndCap); } }
// Standard AVIcap window message // macro: capSetCallbackOnYield // NB:?? I've never used this callback // It's useless command under the WIN32! BOOL CAviCap::SetYiedCallBack(LPVOID cb) { CHECKWIN(); CHECKCNCT(); return capSetCallbackOnYield(GetSafeHwnd(), cb); }