摄像头预览问题 - C++ Builder / Windows SDK/API
高手帮忙看看下面的代码,摄像头预览的,点击按钮后就假死状态了,大概半分钟后panel上显示一片绿色,这时候程序还是很卡,拖一下半天才有反应。摄像头应该没问题,qq可以视频。我单步跟踪了一下,是卡在 bool res = capDriverConnect(hWndC,0);这一句上面。不知是何原因?
void __fastcall TForm1::Button1Click(TObject *Sender){ hWndC = capCreateCaptureWindow ( (LPSTR) "My Capture Window", // window name if pop-up WS_CHILD | WS_VISIBLE, // window style 0, 0, 320, 240, // window position and dimensions (HWND)Panel2->Handle,//(HWND)Application->Handle,//(HWND) hwndParent, ComboBox1->ItemIndex+1);//(int) nID /* child ID */); //连接设备: bool res = capDriverConnect(hWndC,0); // bool res = SendMessage (hWndC, WM_CAP_DRIVER_CONNECT, 0, 0L); capPreviewRate(hWndC, 50); // rate, in milliseconds capPreview(hWndC, TRUE); // starts preview //获取视频驱动相关性能 capDriverGetCaps(hWndC, &CapDrvCaps, sizeof (CAPDRIVERCAPS)); //获取捕获窗口状态 capGetStatus(hWndC, &CapStatus, sizeof (CAPSTATUS)); SetWindowPos(hWndC, NULL, 0, 0, CapStatus.uiImageWidth, CapStatus.uiImageHeight, SWP_NOZORDER | SWP_NOMOVE);}