C# 在我的应用程序中嵌入DirectShow编解码器

C# 在我的应用程序中嵌入DirectShow编解码器,c#,directshow,directshow.net,video-codecs,C#,Directshow,Directshow.net,Video Codecs,我使用directshowlib创建了一个视频播放器。 由于每个用户使用不同的编解码器,有时会出现问题(底部的绿色条,没有音频)。 是否有办法嵌入最合适的编解码器并仅使用它?


我使用directshowlib创建了一个视频播放器。
由于每个用户使用不同的编解码器,有时会出现问题(底部的绿色条,没有音频)。

是否有办法嵌入最合适的编解码器并仅使用它?

您对后者感兴趣,因此可以使用您信任的过滤器/解码器。没有特殊的嵌入,更重要的是图形本身是如何构建的,并且避免了导致自动插入过滤器的API调用

我如何在我的代码中应用它?我习惯于使用自动graphbuilder。使用
IGraphBuilder::AddFilter
IGraphBuilder::Connect
而不是
RenderFile
和其他高级朋友。我没有使用RenderFile。但是我如何选择使用哪个过滤器呢?我通常选择“VideoRenderDefault”。我现在选择哪一个?
videorenderdefault
是一个标准组件,您不会要求嵌入。发布特定的代码,显示哪些不工作,等等。这就是问题所在:一切正常,没有错误。问题是,在某些机器上,播放效果并不总是很好。可能是因为编解码器的不同。因此,我问哪个渲染器来解决这个问题。我猜默认的一个在不同的机器之间变化,所以有一个特定的过滤器使用吗?