首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写DirectX音频推送源

如何编写DirectX音频推送源
EN

Stack Overflow用户
提问于 2011-09-22 23:05:52
回答 2查看 334关注 0票数 0

我想要创建一个DirectX‘过滤器’,来源于单一渠道的音频。我已经看到了Platform示例项目,但缺点是这些项目需要ATL库。

是否有一种方法可以创建DirectX过滤器而不诉诸ATL或MFC?也就是说,某种方式只使用gcc (如MinGW)和其他实际上免费的工具?

EN

回答 2

Stack Overflow用户

发布于 2011-09-23 02:25:42

如果我理解得对,过滤器必须是COM组件。如果需要的话,您可以从大多数编译器中编写这些代码。

然而,涉及的样板将是令人难以置信的,我有一个18 18kloc代码基,当转换为COM组件时,它变成了25 18kloc(最终只因为有更多的样板COM而不是用于小型插件的实际代码)。

据我所知,MFC并不是必要的,也不总是涉及到编写COM组件。

ATL通过在编译时提供模板和函数来处理大量细节,极大地简化了这一点。你也许能用GCC的话,但我不知道会发生什么,我怀疑它会起作用,尽管它可能会起作用。

没有ATL,您需要MIDL并从那里生成代码。这在免费工具中是可能的,它是在葡萄酒项目中的几个地方完成的;您可以检查那里的代码和工具链。

无论您在哪里做,如果您坚持使用“实际免费”的工具(因为它们不是专门为使用COM而设计的),这将是一种痛苦,也是一种严重的痛苦。

票数 0
EN

Stack Overflow用户

发布于 2011-09-23 05:55:57

如果您有DirectShow过滤器,最好的起点将是PushSource Windows示例,它生成视频并使其生成音频。

还请注意,DirectShow基类是最早的COM基之一,它们不使用ATL/MFC。基类本身也包含在Windows中。

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

https://stackoverflow.com/questions/7522505

复制
相关文章

相似问题

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