Ejemplo n.º 1
0
/* 开始捕获预览视频 */
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);
}