vfw錄影,按滑鼠鍵就停止的問題 |
缺席
|
BCBNPC
一般會員 發表:14 回覆:15 積分:5 註冊:2008-11-25 發送簡訊給我 |
大家好:
最近我用vfw進行錄影 當我按下錄影鈕時,的確是開始錄影了,不過滑鼠會變成漏斗狀 我試著去等,一直都是漏斗狀,滑鼠移動也是一樣 直到我按下滑鼠鍵,過個2秒才會跳回指針狀 不過錄影也因此而停止了,不是預設"ESC"鍵停止嗎? 當然,我按下滑鼠左鍵時,是在程式表單的空白處,並非按在停止鈕上。 這個現象我搜尋了一些資訊,似乎沒有提到跟我一樣的問題 我在家、公司的電腦都有一樣的問題。 我提供一些我的環境供各位參考: [公司] OS:Windows XP sp2 RAM:512MB tool:BCB 6 [家裡] OS:Windows XP sp2 RAM:2GB tool:BCB 6 使用的webcam是我老爸好幾年前朋友送給他 他再給我的...不知名的品牌(有附驅動光碟,安裝無問題) 我知道的是:vfw支援到640*480、30萬畫素 以下是我的程式碼,請大家協助: [code cpp] 使用標頭檔:vfw.h 全域變數 HWND hCapWnd; void __fastcall TForm1::btnOpenCameraClick(TObject *Sender) //打開鏡頭的按鈕 { OpenVideoDevice(); //呼叫打開鏡頭的函式 } void __fastcall TForm1::btnVideoRecClick(TObject *Sender) //錄影鈕 { VideoRecStart(); //呼叫開始錄影 存檔的函式 } void __fastcall TForm1::btnVideoStopClick(TObject *Sender) //停止錄影鈕 { capDriverDisconnect(hCapWnd); //與鏡頭斷線 } void TForm1::OpenVideoDevice() //打開鏡頭的函式 { hCapWnd = capCreateCaptureWindow ( "Capture Window", // handle of window WS_CHILD | WS_VISIBLE , 0, 0, 640, 480, Panel1->Handle, 0); bool ScanVideoDevice = false; for(int scan = 0; scan<5; scan ) { //搜尋裝置 ScanVideoDevice = capDriverConnect(hCapWnd,scan); if(ScanVideoDevice) { break; } } if(!ScanVideoDevice) //沒錄影裝置 { ShowMessage("搜尋不到錄影機裝置"); } else //有錄影裝置 { capPreviewRate(hCapWnd,1000/30);//每一秒影像變化張數,數值越大,速度會越慢 capPreview(hCapWnd,true);//影像出現在視窗中 capOverlay(hCapWnd,true);//影像直接傳入電腦,不需要通過cpu的暫存器 capPreviewScale(hCapWnd,true);//影像延伸到所設定的視窗大小 } } void TForm1::VideoRecStart() //開始錄影 存檔的函式 { String VideoFileName = ExtractFilePath(Application->ExeName) "test.avi"; capFileSetCaptureFile(hCapWnd,VideoFileName.c_str()); capCaptureSequence(hCapWnd); //若無上述函數,將在c:\產生capture.avi } [/code] OK...我搞定這個問題了,結案嚕...!煩請版大刪除,感謝。 編輯記錄
BCBNPC 重新編輯於 2008-12-19 15:13:38, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |