C++ 如何更改Directshow筛选器属性C++;
如何以编程方式更改过滤器属性 我正在使用过滤器C++ 如何更改Directshow筛选器属性C++;,c++,visual-c++,directshow,C++,Visual C++,Directshow,如何以编程方式更改过滤器属性 我正在使用过滤器AAC编码器,我可以在graphedit中手动更改其比特率,方法是右键单击过滤器并输入比特率值 是否可以通过代码执行相同的操作 请给我一些有价值的建议,如果可能的话,请使用代码。您的AAC编码器将通过一些IID公开一些接口。确保获得IID的接口,然后访问它的附加功能,如比特率、采样率等。您可以通过专用过滤器特定的接口执行此操作。您需要参考筛选器文档或SDK以获取有关此()的详细信息。有时,您可以从类型库中获取必要的信息 见: 关于MSDN 与R
AAC编码器
,我可以在graphedit
中手动更改其比特率
,方法是右键单击过滤器并输入比特率
值
是否可以通过代码执行相同的操作
请给我一些有价值的建议,如果可能的话,请使用代码。您的AAC编码器将通过一些IID公开一些接口。确保获得IID的接口,然后访问它的附加功能,如比特率、采样率等。您可以通过专用过滤器特定的接口执行此操作。您需要参考筛选器文档或SDK以获取有关此()的详细信息。有时,您可以从类型库中获取必要的信息 见:
- 关于MSDN
更新:不幸的是,尽管许多过滤器实现了IPersistStream,但似乎很少有人真正使用它来做任何有用的事情……@selbie我正在构建图表,你知道怎么做吗?您是否有任何示例代码?为了帮助您,我想知道您使用的是哪种AAC编码器。@CPlusSharp它是“VSS AAC Encoder DMO”,因此没有像“枚举所有选项”这样的通用方法。基本上,您要么显示isSpecifyPropertyPages,然后在此之后保留过滤器的设置(参考:),或者必须参考某些第三方筛选器特定接口?没有公开通用属性(尤其是命名属性)的强制筛选器接口。所以过滤器应该实现对开发者有意义的东西。。。而且它似乎取决于供应商。例如,有些可能实现
IPersistPropertyBag
,但这种情况很少。在大多数情况下,它只是一个特定于筛选器的接口。感谢Roman,您的stackoverflow响应是我今天理解dshow的唯一原因:)我发现,当您处理未记录的筛选器时,通过在graphedit或graphbuilder中打开过滤器属性,然后查看interfaces选项卡,可以看到它实现了哪些接口。我认为这是一个很好的起点,可以在谷歌上搜索更多关于这些接口的信息,并学习如何使用它们。