有没有人知道如何在HTML容器(e.h.DIV)中显示DirectShow视频,而不是单独的弹出式窗口。
我已经完成了运行自定义渲染行为所需的所有操作,它包括所有接口和事件处理,但无法在Internet和我拥有的书籍中找到与我的问题相关的任何内容。
任何人都可以提示我需要做什么吗?
P.S。 在IHTMLPainter上设置IFlags时,MSDN文章仅提及DirectDraw和Direct3D - 但也许这是我正在寻找的错误地方: - )
问候。
答案 0 :(得分:0)
一般来说,这是一个混乱的话题。据我所知,你的选择是一个自定义的activex控件(一般来说,这种方法是一个后勤噩梦)或利用像Silverlight或Flash这样的现有播放器。
Silverlight不会让您控制DirectShow级别,但它确实通过MediaStreamSource提供了可能满足您需求的额外支持。一旦您的音频/视频在Silverlight中,您就拥有了各种高级叠加和界面元素的选项。
答案 1 :(得分:0)
我不会评论Silverlight,因为我没有经验,但我不同意kidjan使用ActiveX控件的总结。
自定义ActiveX控件为我们公司提供了很多用途 - 包括原生应用,托管应用,网页......
使用ActiveX控件的好处在于您可以完全控制播放器中的代码,流认证机制,渲染功能等。
我在不到一个月的时间内编写了一个完整的播放器(包括网络代码),然后在不到一周的时间内将其封装在COM控件中。
尽管如此,DirectShow和COM编程并不容易。这完全取决于权衡 - Flash或Silverlight解决方案可能会让您快速前进。 ActiveX控件将为您提供完全控制。
我还读到HTML5标准将包括对嵌入视频内容的支持(!)可能值得研究,虽然我不知道有多少浏览器支持(新兴)标准。