我试图在我的应用程序中制作一些东西,由 c++ directshow 我想从 640x480 更改默认渲染大小(驱动程序营地大小),但它告诉我这个大小不可用,但在 amcap 中它是如何工作的?我试图通过使用来停止渲染,mediaControl->stop();
但它似乎不起作用这是一个屏幕截图
在此处输入链接描述
您可以在我的博客中找到有关它的更多信息,在 此处输入链接描述
好的,我在这里添加了一些代码
hr=pConfig->QueryInterface(IID_ISpecifyPropertyPages,(void**) &pSpec);//," page ");
if(SUCCEEDED(hr))
{
hr=pSpec->GetPages(&cauuid);
if( SUCCEEDED(hr) && cauuid.cElems>0){
this->releaseRender();
checkIt( OleCreatePropertyFrame(this->owner, 30, 30, NULL, 1,
(IUnknown **)&pConfig, cauuid.cElems,
(GUID *)cauuid.pElems, 0, 0, NULL),"stuff ");
CoTaskMemFree(cauuid.pElems);
}
但是当我单击要更改的内容时,它说您无法执行此操作,我正在使用 IbaseFilter 之类的源过滤器,我试图从 iGraphBuilder 中删除此过滤器
this->graphB->RemoveFilter(this->srcFilter);