線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1704
推到 Plurk!
推到 Facebook!

CCD擷取AVI一問

答題得分者是:qoo1234
clarkkent
初階會員


發表:29
回覆:83
積分:32
註冊:2003-01-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-16 08:32:32 IP:211.74.xxx.xxx 未訂閱
各位先進好    http://delphi.ktop.com.tw/topic.php?TOPIC_ID=20758 想請教一下,上面的連結的那篇文章中 有提到擷取avi(預設為Esc鍵停止) 在此請教各位如果 一、要設定成別的按鍵(可能是單鍵或複合鍵)要如何修改? 二、如果固定要擷取20秒後就停了,該如何下手? 三、當某一個事件發生時,才要停止(例如滑鼠移到了某個地方) 不好意思一次問這麼多 還請先進們多多賜教 十二萬分感謝 新手上路,請多指教 如果此文章違反版規 還請版主告知並刪除 Just do it
------
JUST DO IT
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-16 12:15:43 IP:61.231.xxx.xxx 未訂閱
clarkkent您好:   
引言: 一、要設定成別的按鍵(可能是單鍵或複合鍵)要如何修改? 二、如果固定要擷取20秒後就停了,該如何下手? 三、當某一個事件發生時,才要停止(例如滑鼠移到了某個地方)
1. 用capCaptureStop函式完成,加上if KEY==XXX 2. 您可以用Timer來實現,在Timer計數20秒後觸發capCaptureStop 3. 看您要在哪個地方,並在OnMouseMove事件中判斷座標位置,並觸發函式 順心
clarkkent
初階會員


發表:29
回覆:83
積分:32
註冊:2003-01-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-16 12:39:56 IP:61.59.xxx.xxx 未訂閱
引言: clarkkent您好:
引言: 一、要設定成別的按鍵(可能是單鍵或複合鍵)要如何修改? 二、如果固定要擷取20秒後就停了,該如何下手? 三、當某一個事件發生時,才要停止(例如滑鼠移到了某個地方)
1. 用capCaptureStop函式完成,加上if KEY==XXX 不好意思,再請教您,這個capCaptureStop的功能是... 只適用在錄影時嗎?(即:只停止擷取AVI用的嗎) 停止後,如果要再繼續擷取,是否要重新設定(如:與CCD連結、設定每秒擷取張數…,還是有的要有的不要呢?) 可否給個小程式呢? 2. 您可以用Timer來實現,在Timer計數20秒後觸發capCaptureStop 3. 看您要在哪個地方,並在OnMouseMove事件中判斷座標位置,並觸發函式 順心 < face="Verdana, Arial, Helvetica"> 感激感激再感激 新手上路,請多指教 如果此文章違反版規 還請版主告知並刪除 Just do it
------
JUST DO IT
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-16 12:41:34 IP:61.218.xxx.xxx 未訂閱
typedef struct { DWORD dwRequestMicroSecPerFrame; BOOL fMakeUserHitOKToCapture; UINT wPercentDropForError; BOOL fYield; DWORD dwIndexSize; UINT wChunkGranularity; BOOL fUsingDOSMemory; UINT wNumVideoRequested; BOOL fCaptureAudio; UINT wNumAudioRequested; UINT vKeyAbort; BOOL fAbortLeftMouse; BOOL fAbortRightMouse; BOOL fLimitEnabled; UINT wTimeLimit; BOOL fMCIControl; BOOL fStepMCIDevice; DWORD dwMCIStartTime; DWORD dwMCIStopTime; BOOL fStepCaptureAt2x; UINT wStepCaptureAverageFrames; DWORD dwAudioBufferSize; BOOL fDisableWriteCache; UINT AVStreamMaster; } CAPTUREPARMS; 一、要設定成別的按鍵(可能是單鍵或複合鍵)要如何修改? A: CAPTUREPARMS.vKeyAbort Virtual keycode used to terminate streaming capture. The default value is VK_ESCAPE. You must call the RegisterHotKey function before specifying a keystroke that can abort a capture session. You can combine keycodes that include CTRL and SHIFT keystrokes by using the logical OR operator with the keycodes for CTRL (0x8000) and SHIFT (0x4000). 二、如果固定要擷取20秒後就停了,該如何下手? A: CAPTUREPARMS.fLimitEnabled Time limit enabled flag. If this member is TRUE, streaming capture stops after the number of seconds in wTimeLimit has elapsed. The default value is FALSE. CAPTUREPARMS.wTimeLimit Time limit for capture, in seconds. This parameter is used only if fLimitEnabled is TRUE. 三、當某一個事件發生時,才要停止(例如滑鼠移到了某個地方) A: CAPTUREPARMS.fAbortLeftMouse Abort flag for left mouse button. If this member is TRUE, streaming capture stops if the left mouse button is pressed. The default value is TRUE. CAPTUREPARMS.fAbortRightMouse Abort flag for right mouse button. If this member is TRUE, streaming capture stops if the right mouse button is pressed. The default value is TRUE. EX: CAPTUREPARMS parms; //設定停止鍵 parms.vKeyAbort=VK_ESCAPE; //設定 按下mouse 左鍵停止 parms.fAbortLeftMouse = true; //設定 按下mouse 右鍵停止 parms.fAbortRightMouse = true; //限制時間長度 parms.fLimitEnabled=TRUE //錄影時間長度 parms.wTimeLimit= 20 capCaptureSetSetup( hwnd,&Parms,sizeof(CAPTUREPARMS )); );
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-16 13:10:40 IP:140.135.xxx.xxx 未訂閱
qoo1234您好:   您的方式真讚!!!< >< > 感謝您的解答< > 順心< >
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-16 13:13:15 IP:61.218.xxx.xxx 未訂閱
clarkkent: 站長有發表一個錄影程式 你可下載參考看看 http://delphi.ktop.com.tw/topic.php?topic_id=25489
clarkkent
初階會員


發表:29
回覆:83
積分:32
註冊:2003-01-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-16 13:34:29 IP:61.59.xxx.xxx 未訂閱
感謝各位先進的協助 你們真是太強了 您提供的資訊真是受用無窮 小弟會去試試的 <>新手上路,請多指教 如果此文章違反版規 還請版主告知並刪除 >
------
JUST DO IT
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-04-16 14:12:14 IP:140.135.xxx.xxx 未訂閱
clarkkent您好:    
引言: 感謝各位先進的協助,您提供的資訊真是受用無窮
也希望您有心得時,可以回來分享喔~~< > 將來您也會是答題得分的主角!! 順心 < >
clarkkent
初階會員


發表:29
回覆:83
積分:32
註冊:2003-01-23

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-04-24 16:15:26 IP:211.74.xxx.xxx 未訂閱
各位先進好 經過以上的討論,且小弟拜讀了下列文章 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26075 寫了以下的程式
void __fastcall TForm1::Video1Click(TObject *Sender)
{ 
  Edit20->Text = "Capture AVI";
  CAPTUREPARMS CaptureParms;
  capCaptureSetSetup(hCapWnd,&CaptureParms,sizeof(CaptureParms));
  CaptureParms.fLimitEnabled = true ;
  CaptureParms.wTimeLimit = 5;
  CaptureParms.vKeyAbort=VK_F1;
  capCaptureSetSetup(hCapWnd,&CaptureParms,sizeof(CaptureParms));
  capFileSetCaptureFile(hCapWnd,"c:\\test.avi");
  capCaptureSequence(hCapWnd);
  Edit20->Text = "Stop Capture";
}
以上程式一進入,馬上顯示"Stop Capture",而不是五秒後 另外在c:下也沒有test.avi這個檔 請教各位先進該如何改進! 再請教紅色部分應該是打CAPTUREPARMS 還是 CaptureParms ps.畫面可以在Panel上看到了,所以驅動程式應該是有連上 且hCapWnd設為全域變數 十二萬分感激 新手上路,請多指教 如果此文章違反版規 還請版主告知並刪除 Just do it
------
JUST DO IT
系統時間:2024-04-20 22:05:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!