3

我正在使用带有 DSPACK 的 Delphi 6 来执行一些涉及音频和 DirectX 的操作。我找到了“输入”端,我将枚举的音频输入设备之一分配给 TFilter 对象并将该过滤器连接到 TSampleGrabber 对象,这为我提供了将音频发送到 Skype 所需的音频缓冲区。这是我需要弄清楚的那个图的逻辑逆。我通过套接字从 Skype 接收音频缓冲区。我需要创建一个具有过滤器的图形,该过滤器将作为 TSampleGrabber 的补充。换句话说,一个 TFilter 不会像 TSampleGrabber 那样在新音频可用时触发的事件期间提供音频缓冲区,而是在需要新音频来馈送图形时触发类似的事件。在这个“输出”的末尾

有谁知道如何做到这一点?我当然更愿意避免编写我自己的自定义过滤器 COM 对象来完成这项工作。我希望有一个现有的 TFilter 可以接受将自定义音频缓冲区混合到 DirectX 过滤器图中。

4

1 回答 1

2

数据注入过滤器的一个常见起点是Push Source Filters Sample。这将创建一个仅输出引脚的过滤器,它将数据注入 DirectShow 管道,数据可以是任何类型,通常是视频或音频。

正如您提到的 Delphi 和 DSPack,后者已移植了此示例(请参阅 \Demos\D6-D7\Filters\PushSource)。

于 2011-10-03T05:36:05.730 回答