我在使用Windows媒体播放器组件的分布式媒体播放器上工作。 现在,客户问我是否可以将他们的徽标叠加在播放的媒体上,而不是他们必须使用标识渲染每部电影。
我有谷歌它似乎我可以使用directshow过滤器来做到这一点,但我还没有找到任何关于如何做的好信息。
如果有人在这里知道如果我可以以编程方式执行此操作,使用插件,过滤器或其他方式,那将很高兴知道。如果它的插件也花钱也很好。
我想要的是能够在Windows Media Player 11中使用jpg / png作为水印/叠加到正在运行的电影
答案 0 :(得分:2)
可以通过将您自己的自定义DirectShow过滤器强制转换为WMP的过滤器图表来实现此目的。这涉及将过滤器的merit设置得非常高,以便DirectShow的自动图形构建将您的过滤器插入到WMP链中。但是,我不推荐这种方法,因为a)过滤器可能不会总是插入某些过滤器图形链,而b)它也会被添加到任何其他已安装的第三方DirectShow应用程序的过滤器图形中。第二个问题可能是一个主要问题。
应该可以创建WMP DSP plugin来执行此操作。这些实现为DirectX媒体对象(DMO s),它们与DirectShow过滤器类似但更简单。这种方法可能是您最好的选择。
最后一种方法是在DirectShow中重写应用程序的整个媒体播放部分,而不是使用WMP控件。这将需要更多的努力,但如果您计划现在或将来进行大量自定义媒体流处理,那么它可能是一个很好的选择。