是否有一个简单的 DirectShow 过滤器可以将完全相同格式的音频混合在一起?
我有一个使用 DSPACK 组件库用 Delphi 6 编写的 DirectShow 应用程序。我希望能够将来自多个捕获过滤器的输出引脚的音频混合在一起,这些捕获过滤器设置为完全相同的媒体格式。是否有开源或“sdk 示例”过滤器可以执行此操作?
我知道智能混合是一件大事,我很可能必须购买一个商业图书馆才能做到这一点。但我所需要的只是一个 DirectShow 滤波器,它可以接受来自多个输出引脚的波形音频输入,并直接添加接收到的样本。我知道有 Tee Filter 用于将单个流拆分为多个流(一对多),但我需要做相反的事情(多对一),最好对每个输入连接尝试进行格式检查,以便任何尝试连接具有与已添加的媒体格式不同的媒体格式的输出引脚会因错误而受阻。外面有什么吗?
I have a DirectShow application written in Delphi 6 using the DSPACK component library. I want to be able to mix together audio coming from the output pins from multiple Capture Filters that are set to the exact same media format. Is there an open source or "sdk sample" filter that does this?
I know that intelligent mixing is a big deal and that I'd most likely have to buy a commercial library to do that. But all I need is a DirectShow filter that can accept wave audio input from multiple output pins and does a straight addition of the samples received. I know there are Tee Filter's for splitting a single stream into multiple streams (one-to-many), but I need something that does the opposite (many-to-one), preferably with format checking on each input connection attempt so that any attempt to attach an output pin with a different media format than the ones already added is thwarted with an error. Is there anything out there?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不确定是否有任何开箱即用的组件,但它肯定是第三方组件。
创建此自定义过滤器的复杂性不是很高(就为特定需求自行创建此类组件而言,这并不是什么复杂的事情)。您基本上需要将所有输入音频转换为相同的 PCM 格式、匹配时间戳、添加数据,然后通过输出引脚传送。
Not sure about anything available out of the box, however it would be definitely a third party component.
The complexity of creating this custom filter is not very high (it is not a rocket science in terms of creating such component yourself for specific need). You basically need to have all input audio converted to the same PCM format, match the timestamps, add the data and then deliver via output pin.