두 개의 다른 웹캠이 내 PC에 연결되어 있지만 다음 코드를 실행할 때 문제가 있습니다. 모든 초기화 루틴을 포함하고 capDlgVideoSource 호출로 마지막 줄을 선택하면 하나의 웹캠의 videosource 대화 상자가 목록 대신 표시되어 목록 사이에 선택할 수 있습니다. OS는 WinXP SP3여러 웹캠에서 capDlgVideoSource 문제
//Create invisible window to hold the capture window.
hwnd = CreateWindowEx(0, _T("webcampcapwindow"), _T(""), 0, 0, 0, 1, 1, HWND_DESKTOP, NULL, GetModuleHandle(NULL), NULL);
if(!hwnd)
throw FatalException(_T("main Capture window create failed"), _T(__FILE__), __LINE__);
//Create capture window.
capHwnd = capCreateCaptureWindow(_T("webcampcapwindowchild"), WS_CHILD, 0, 0, 1, 1, hwnd, 1);
if(!capHwnd)
throw FatalException(_T("secondary Capture window create failed"), _T(__FILE__), __LINE__);
CAPDRIVERCAPS caps;
if(capDriverConnect(capHwnd, 0)) {
connectedtoWc = true;
break;
}
if (!connectedtoWc)
throw FatalException(_T("Could not connect to capture driver."), _T(__FILE__), __LINE__);
//Attach our callback to the capture window.
if(!capSetCallbackOnVideoStream(capHwnd, videoCallback))
throw FatalException(_T("Unable to Attach our callback to the capture window."), _T(__FILE__), __LINE__);
//Make sure we can access this object from the callback.
if(!capSetUserData(capHwnd, this))
throw FatalException(_T("Could not associate user data with capture."), _T(__FILE__), __LINE__);
//Check everything's initialised.
caps.fCaptureInitialized = false;
if(!capDriverGetCaps(capHwnd, &caps, sizeof(CAPDRIVERCAPS)))
throw FatalException(_T("Unable to get driver caps"), _T(__FILE__), __LINE__);
if(!caps.fCaptureInitialized)
throw FatalException(_T("Unable to initialize capture driver"), _T(__FILE__), __LINE__);
if (caps.fHasDlgVideoSource)
capDlgVideoSource(capHwnd);
비디오 소스 대화 상자에서 웹캠을 선택하려면 어떻게해야합니까? 현재 두 번째 웹캠 속성을 보여줍니다.