Olega
Гость
|
|
« : 04-06-2004 10:32 » |
|
Подскажите пожалуйста! Есть две WEB камеры. Нужно захватывать видео с конкретной камеры (с выбранной). WM_CAP_DRIVER_CONNECT вне вопросов, но нужен собственный выбор видеокамеры.
Список камер: for(int i=0;i<sources.size();i++) { sources.pFilter->Release(); sources.clear(); } CaptureSource cs; ICreateDevEnum* pSysDevEnum=NULL; IPropertyBag *pPropBag=NULL; IEnumMoniker *pEnumCat=NULL; IMoniker* pMoniker=NULL; CoCreateInstance(CLSID_SystemDeviceEnum,NULL,CLSCTX_INPROC_SERVER,IID_ICreateDevEnum,(void **)&pSysDevEnum); pSysDevEnum->CreateClassEnumerator(CLSID_VideoInputDeviceCategory,&pEnumCat,0); if(pEnumCat!=NULL) { while(pEnumCat->Next(1,&pMoniker,NULL)==S_OK) { pMoniker->BindToStorage(0,0,IID_IPropertyBag,(void **)&pPropBag); Variant vt; pPropBag->Read(L"FriendlyName",vt,0); pMoniker->BindToObject(NULL,NULL,IID_IBaseFilter,(void**)&(cs.pFilter)); _tcsnccpy(cs.name,String(vt).c_str(),sizeof(cs.name)); ComboBox1->Items->Add(cs.name); sources.push_back(cs); pPropBag->Release(); pMoniker->Release(); pMoniker=NULL; } pEnumCat->Release();
Вот получил список. Например их две штуки: Video Blaster WebCam 5 (WDM) -камера 1 Video Blaster WebCam 5 (WDM) -камера 2
А что же дальше? Как захватить картинку с камеры 2? Кто знает, помогите пожалуйста разобраться как это сделать!
|