首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IOverlay接口在DirectShow.Net中可用吗?

IOverlay接口在DirectShow.Net中可用吗?
EN

Stack Overflow用户
提问于 2009-09-03 00:36:29
回答 1查看 645关注 0票数 0

我对DirectShow非常陌生,现在真的感觉到了。我希望在WPF应用程序中托管directshow图形的directshow呈现器窗口,目前正在使用HwndHost类来实现这一点。不过,对于HwndHost,我需要的是渲染视频的窗口的句柄。我已经找到了一个示例,它显示了通过枚举IVideoWindow接口的引脚并查询IOverlay来获取句柄,因此可以使用GetWindowHandle方法来获取句柄。

问题是IOverlay似乎不能在DirectShow.Net中使用。在读取DirectShow.Net 关于页面时,IOverlay在表中列出,标题为“这些接口在源代码中,但被废弃、无文档化、用于Ole自动化或其他不可测试的,这意味着它们不是,也不会被测试”。

那么,我要做什么才能获得这个定义呢?它是否被排除在作为库分发的构建之外,所以我应该自己构建库吗?

还是有更好的方法来做我想做的事?任何帮助都会像我说的那样感谢你,因为我对所有这些东西都是新手。

提前谢谢。

编辑:外面的DirectShow开发人员不多?或者这是个愚蠢的问题,绝对可以接受偷窥者的任何建议.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-09-03 08:17:57

通常这样做的方法是使用IVideoWindow::put_Owner重新创建视频窗口,使其成为您自己窗口的子窗口。您还需要设置AutoShow (false)、可见、宽度和高度属性,并更改WindowStyle属性使其成为子窗口。

IOverlay接口是在DirectShow (1996)的第一个版本中实现的,以支持一些早已失效的硬件解码器。我不认为当前的视频渲染器会支持它。

窗口句柄很难获得,因为糟糕的应用程序编程导致了中频繁的死锁,而开发人员认为需要将DirectShow线程和他们拥有的窗口以及任何应用程序线程明确分隔开来。

G

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1370888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档