怎样在单文档显示VFW采集的视频流
大家好!
我在做一个关于视频采集的程序,我在单文档运行的界面进行了窗口分割,然后想在一个小窗口里显示采集的视频流,
编译没错,可是运行就出现了一打堆对话框说与视频卡连接错误???
请问各位高手,怎样实现呀,真是没有办法了呀??敬请大家帮忙!
CWnd *pWnd=AfxGetMainWnd();
//GetDlgItem(IDD_DIALOG1)->SetWindowPos(NULL,rt.left,rect.top,0,0,SWP_NOSIZE);//
CRect rect;
pWnd->GetWindowRect(&rect); // 得到窗口大小
m_hCapWnd=capCreateCaptureWindow((LPTSTR)TEXT( "视频捕捉测试程序 "),
WS_CHILD|WS_VISIBLE|WS_EX_CLIENTEDGE|WS_EX_DLGMODALFRAME,
0,0,rect.Width(),rect.Width(),
pWnd->GetSafeHwnd(),0); // 设置预示窗口
ASSERT(m_hCapWnd);
if(capDriverConnect(m_hCapWnd,0))
{
// 连接第0 号驱动器
m_bInit=TRUE;
//得到驱动器的性能
capDriverGetCaps(m_hCapWnd,sizeof(CAPDRIVERCAPS), &m_CapDrvCap);
if(m_CapDrvCap.fCaptureInitialized)
{// 如果初始化成功
capGetStatus(m_hCapWnd, &m_CapStatus,sizeof(m_CapStatus));// 得到驱动器状态
capPreviewRate(m_hCapWnd,12); // 设置预示帧频
capPreview(m_hCapWnd,TRUE); // 设置预示方式
}
else{// 初始化未成功
AfxMessageBox( "视频捕捉卡初始化失败! ");
AfxGetMainWnd()-> PostMessage(WM_CLOSE);
}
}
else{// 未能连接到驱动器
AfxMessageBox( "与视频捕捉卡连接失败! ");
// AfxGetMainWnd()-> PostMessage(WM_CLOSE);
m_CapFileName="c:\\Capture.avi";// 设置捕获文件
capFileSetCaptureFile(m_hCapWnd,m_CapFileName.GetBuffer(255)); }