我开发了虚拟网络摄像头(DShow过滤器),现在我想在应用程序中的网络摄像头列表中排名第一。我知道应用程序使用DirectShow或VFW来枚举视频设备,但是如何强制它们将我的网络摄像头显示为“默认”?
提前致谢!
答案 0 :(得分:0)
您可以尝试使用过滤器优点。这不会达到“默认”(不确定这是否可以实现),但至少可以将您的过滤器置于列表顶部,具体取决于客户端应用程序如何对其捕获列表进行排序(例如按字母顺序或按优先级排序)。
过滤器优点允许过滤器供应商将“优先级”级别归于其过滤器。此过滤器优点已在过滤器中注册,如过滤器的注册表描述符中所述。例如:
AMOVIESETUP_FILTER sudFilterReg = {
&CLSID_SomeFilter, // Filter CLSID.
g_wszName, // Filter name.
MERIT_PREFERRED, // Merit.
1, // Number of pin types.
&sudPins // Pointer to pin information.
};
这通常与编码器/解码器滤波器一起使用。例如,在DirectShow使用自动连接从用户系统上注册的多个MJPEG编解码器列表中选择MJPEG解码器过滤器的情况下,应选择具有最高优值的过滤器。
这种方法还使最终用户有机会查看/调整其系统上注册的所有过滤器的过滤器优值(请查看Filmerit http://paul.glagla.free.fr/filmerit_en.htm),这是一个很好的免费工具。