视频采集的问题
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC,
IID_IGraphBuilder, (void **)&m_pGraph);
CoCreateInstance(CLSID_CaptureGraphBuilder2, NULL, CLSCTX_INPROC,
IID_ICaptureGraphBuilder2, (void **)&m_pBuilder);
m_pBuilder->SetFiltergraph( m_pGraph);
ICreateDevEnum *pDevEnum = NULL;
CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC,
IID_ICreateDevEnum, (void **) &pDevEnum);
IEnumMoniker *pClassEnum = NULL;
pDevEnum->CreateClassEnumerator (CLSID_VideoInputDeviceCategory, &pClassEnum, 0);
ULONG uFetched;
IMoniker *pMoniker = NULL;
IBaseFilter *pSrc = NULL;
if(pClassEnum->Next(1, &pMoniker, &uFetched) == S_OK)
{
pMoniker->BindToObject(0, 0, IID_IBaseFilter ,(void **) &pSrc);
}
m_pGraph->AddFilter ( pSrc, L"Video Capture");
m_pBuilder->RenderStream(&PIN_CATEGORY_PREVIEW,
&MEDIATYPE_Video,
pSrc,
NULL,
NULL);
IVideoWindow *pWin = NULL;
m_pGraph->QueryInterface ( IID_IVideoWindow, (void**) &pWin);
pWin->put_Owner((OAHWND)this->m_hWnd );
pWin->put_WindowStyle(WS_CHILD);
pWin->SetWindowPosition(0, 0, 300, 300);
pWin->put_Visible ( OATRUE );
这段代码出来的预览窗口是黑色的,没看到影象,为什么呢?