建立一個基於對話方塊的工程,引用標頭檔<vfw.h> ,匯入 vfw32.lib 庫,庫檔案可以在vc存在路徑中找到;
如:D:/Program Files/Microsoft Visual Studio/VC98/Lib/vfw32.lib
作者Blog:http://blog.csdn.net/simaowufen/
在表單上添加四個個按鈕,修改ID為IDC_VIDEO , IDC_CAPTURE , IDC_STOPVIDEO , IDC_STOPCAPTURE;
為按鈕IDC_VIDEO添加代碼開始瀏覽視頻:
{
//create a window for captureWindow
CWnd *mywnd=new CWnd;
mywnd->Create(_T("STATIC"), "", WS_CHILD | WS_VISIBLE,CRect(0, 0, 400, 400), this, 1234);
mywnd->ShowWindow(SW_SHOW);
CRect rect;
mywnd->GetWindowRect(rect);
//create capture window
ghCapWnd=capCreateCaptureWindow( "My Own Capture Window",WS_CHILD | WS_VISIBLE ,0, 0, (rect.right-rect.left), (rect.bottom-rect.top), mywnd->GetSafeHwnd(), 1235);
//connect device
capDriverConnect (ghCapWnd, 0);
//get params
CAPTUREPARMS CapParms;
capCaptureGetSetup(ghCapWnd,&CapParms,sizeof (CAPTUREPARMS))
//設定楨速
CapParms.dwRequestMicroSecPerFrame=40000;
//有無時間限制
CapParms.fLimitEnabled = FALSE;
//是否捕捉音頻
CapParms.fCaptureAudio = FALSE;
//MCI Device支援
CapParms.fMCIControl = FALSE;
//設定視窗,如果為false,捕捉畫面在案頭上
CapParms.fYield = TRUE;
//停止捕捉鍵設定
CapParms.vKeyAbort = VK_ESCAPE;
CapParms.fAbortLeftMouse = FALSE;
CapParms.fAbortRightMouse = FALSE;
capCaptureSetSetup(ghCapWnd,&CapParms,sizeof (CAPTUREPARMS));
//設定預覽時的比例
capPreviewScale(ghCapWnd, 1);
//設定預覽時的幀頻率
capPreviewRate(ghCapWnd,66);
//是否支援比例變化
capPreviewScale(ghCapWnd,FALSE);
//開啟預覽
capPreview(ghCapWnd, 1);
}
為IDC_CAPTURE添加代碼開始捕獲視頻:
{
capCaptureSequence(ghCapWnd);
}
為IDC_STOPCAPTURE添加代碼停止捕捉:
{
capCaptureAbort(ghCapWnd);
}
為IDC_STOPVIDEO添加代碼中斷連線:
{
capDriverDisconnect(ghCapWnd);
}
此程式只是簡單的顯示和捕捉視頻, 旨在給那些像我一樣搜到很多資料但又沒有找到進入點的菜鳥一個入口,至於更高深的內容還有待各位大俠不吝賜教.