设置视频时老是报错。
现在能打开摄像头,但是打开摄像头后设置采集大小总是报错,改了好久,一直没好方法,有谁可以帮帮我啊!
头文件中定义:
IMediaControl *m_pMC; //媒体控制接口
ICaptureGraphBuilder2 *m_pCapture; //增强型捕获滤波器链表管理器
IBaseFilter *m_pBF; //捕获滤波器
源文件中:
/配置摄像头数据源格式:分辨率、RGB/I420等
void CCaptureClass::ConfigCameraPin(HWND hwndParent)
{
m_pMC ->Stop();
HRESULT hr ; //返回值
IAMStreamConfig *pSC ; //流配置接口
ISpecifyPropertyPages *pSpec ; //属性页接口
//只有停止后,才能进行引脚属性的设置
hr = m_pCapture->FindInterface(&PIN_CATEGORY_CAPTURE,
&MEDIATYPE_Video,
m_pBF, IID_IAMStreamConfig, (void **)&pSC);
if(SUCCEEDED( hr ))
{
CAUUID cauuid ; //所有属性页结构体
hr = pSC->QueryInterface(IID_ISpecifyPropertyPages,(void**)&pSpec);
if( hr == S_OK )
{
hr = pSpec->GetPages(&cauuid); //获取所有属性页
//显示属性页
hr = OleCreatePropertyFrame(hwndParent,30,30,NULL,1,(IUnknown**)&pSC,cauuid.cElems,(GUID*)cauuid.pElems,0,0,NULL);
//释放内存、资源
CoTaskMemFree(cauuid.pElems);
}
}
pSpec->Release();
pSC->Release();
//回复运行
m_pMC->Run();
}