Visual c++ 更改过滤器的渲染大小会显示错误 我尝试用C++ DirectShow制作我的应用程序中的一些东西 我想将默认渲染大小(驱动程序campture大小)从640x480更改为640x480 但它告诉我这个尺寸不可用 但在amcap中它是如何工作的?? 我尝试使用mediaControl->stop()停止渲染但它似乎不起作用 这是一个屏幕截图

Visual c++ 更改过滤器的渲染大小会显示错误 我尝试用C++ DirectShow制作我的应用程序中的一些东西 我想将默认渲染大小(驱动程序campture大小)从640x480更改为640x480 但它告诉我这个尺寸不可用 但在amcap中它是如何工作的?? 我尝试使用mediaControl->stop()停止渲染但它似乎不起作用 这是一个屏幕截图 ,visual-c++,directshow,Visual C++,Directshow,你可以在我的博客上找到更多关于它的信息 好的,我在这里添加了一些代码 hr=pConfig->QueryInterface(IID_ISpecifyPropertyPages,(void**) &pSpec);//," page "); if(SUCCEEDED(hr)) { hr=pSpec->GetPages(&cauuid); if( SUCCEEDED(hr) && cauuid

你可以在我的博客上找到更多关于它的信息

好的,我在这里添加了一些代码

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);

您需要提供更多信息和代码示例,然后有人才能帮助您!您使用的屏幕捕获过滤器是什么?您是如何尝试更改渲染大小的?通常,只有在源过滤器未连接的情况下才能执行此操作!在编写一些FilterGraph代码之前,请尝试使用GrapherEdit或手动执行操作。使用这些工具所能做的一切都可以通过代码来完成,它们有助于理解使用DirectShow框架的过程