gpt4 book ai didi

delphi - 如何使用 DSPACK 将自定义音频缓冲区注入(inject) DirectX 过滤器图表?

转载 作者:行者123 更新时间:2023-12-03 15:57:18 24 4
gpt4 key购买 nike

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

有人知道该怎么做吗?我当然希望避免编写自己的自定义过滤器 COM 对象来完成此任务。我希望现有的 TFilter 可以接受自定义音频缓冲区并将其混合到 DirectX 过滤器图表中。

最佳答案

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

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

关于delphi - 如何使用 DSPACK 将自定义音频缓冲区注入(inject) DirectX 过滤器图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7630329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com