第一次開啟device disconnect 後就不能在connect device 的問題 |
答題得分者是:taishyang
|
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
請問一下大大們
為何我第一次connect device 可以看到影像
但我disconnect 後 要重新connect device
它就會出現....Can not connect device !1
請問大大是那裡的問題呢?
謝謝!! void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
//開啟裝置按下
if(BitBtn1->Caption == "Connect"){
if (!VideoWnd) OpenVideoWindow();
}else{
if (VideoWnd) CloseVideoWindow();
}
}
//---------------------------------------------------------------------------
bool __fastcall TForm1::OpenVideoWindow(void)
{
//TODO: Add your source code here
// CAPINFOCHUNK InfoChunk;
VideoWnd = capCreateCaptureWindow("VideoWindow",WS_CHILD | WS_VISIBLE,0,0,640,480,Panel1->Handle,(int) 0);
if(!OpenDevice())
{
DestroyWindow(VideoWnd);
VideoWnd=NULL;
return false;
}
}
//---------------------------------------------------------------------------
bool __fastcall TForm1::OpenDevice(void)
{ //TODO: Add your source code here
if (capDriverConnect(VideoWnd,1))
{
capPreviewScale(VideoWnd,true);
capOverlay(VideoWnd,TRUE);
capPreviewRate(VideoWnd,1000/30);
capPreview(VideoWnd,TRUE);
BitBtn2->Enabled = true;
BitBtn3->Enabled = true;
BitBtn1->Caption = "DisConnect";
return true;
}else{
ShowMessage("Can not connect device !!");
BitBtn1->Caption = "Connect";
return false;
}
}
//---------------------------------------------------------------------------
bool __fastcall TForm1::CloseVideoWindow(void)
{
//TODO: Add your source code here
if (bDeviceConnected) CloseDevice();
DestroyWindow(VideoWnd);
VideoWnd = NULL;
BitBtn1->Caption = "Connect";
BitBtn2->Enabled = false;
BitBtn3->Enabled = false;
return true;
}
//---------------------------------------------------------------------------
bool __fastcall TForm1::CloseDevice(void)
{
//TODO: Add your source code here
if (capDriverDisconnect(VideoWnd))
{
bDeviceConnected=false;
return true;
}else{
ShowMessage("Can not disconnect device !!");
BitBtn1->Caption = "DisConnect";
return false;
}
}
|
KGB
一般會員 發表:6 回覆:7 積分:2 註冊:2003-07-18 發送簡訊給我 |
引言: //------------------------------------------------------------------- bool __fastcall TForm1::OpenDevice(void) { //TODO: Add your source code here if (capDriverConnect(VideoWnd,1)) .....................................^^^ { capPreviewScale(VideoWnd,true); capOverlay(VideoWnd,TRUE); capPreviewRate(VideoWnd,1000/30); capPreview(VideoWnd,TRUE); BitBtn2->Enabled = true; BitBtn3->Enabled = true; BitBtn1->Caption = "DisConnect"; return true; }else{ ShowMessage("Can not connect device !!"); BitBtn1->Caption = "Connect"; return false; } }wzl您好: if (capDriverConnect(VideoWnd,1)) .............................^^^ 我測過你的程式碼,把這裡的1 改成 0 就OK了 ==> if (capDriverConnect(VideoWnd,0)) 發表人 - KGB 於 2003/07/28 18:59:47 發表人 - KGB 於 2003/07/28 19:00:55 |
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
wzl您好:
您可以參考下面連結加入下面的判斷機制
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=34539
bool connect = false; for( int i = 0; i < 10; i ) { connect = capDriverConnect(VideoWnd,i); if(connect) break; } if(!connect) { ShowMessage("攝影機連接失敗"); }順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~> 發表人 - |
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
|
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
wzl您好:
下面是我測試的程式,我測試可行(BCB5.0 WinXP)
void __fastcall TForm1::Button1Click(TObject *Sender) { int i=Edit1->Text.ToInt(); //依您的其況,i=1; vcHWND = capCreateCaptureWindow ( "Capture Window", WS_CHILD | WS_VISIBLE ,0,0,160,120,((TPanel*)FindComponent("Panel" IntToStr(i)))->Handle, 0); //設定視窗大小 capDriverConnect( vcHWND,Edit1->Text.ToInt()); capPreviewRate(vcHWND,33); capPreview(vcHWND,true); //預覽設定 } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { capDriverDisconnect(vcHWND); } //---------------------------------------------------------------------------可以連線,斷線切換 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~> 發表人 - |
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
wzl您好:
我沒有收到耶,有問題的專案可以上傳到下面連結的地方
http://delphi.ktop.com.tw/forum.asp?FORUM_ID=97 您的問題在哪邊呢?上面的方式還是不可以嗎?< > 順心< > ~我也是在學習的階段,回答的不好請您多多見諒與指教~
|
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
wzl您好:
引言: 我這個程式用亞邁的DV PRO 可以正常沒問題現在我用的是另一塊影像擷取卡 Mutech MV500Http://www.mutech.com/可是這塊卡就不可以請問taishyang大大您那邊可推薦幾塊可以顯示640 x480的擷取卡(非補插點黑白) 謝謝大大...我很好奇為何用標準win32 api 確不能夠跑那張Mutech 的卡呢? 請大大解惑!!我只有一張影像擷取卡(UPG301T), 而且覺得不是很好用< > 我沒有其他的影像擷取卡,所以不曉得還有這樣的情況< > 抱歉,幫不上忙了~~ P.S:我沒有那麼厲害可以被稱為[大大],我只是個熱心助人的版主< > 順心< > ~我也是在學習的階段,回答的不好請您多多見諒與指教~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |