gpt4 book ai didi

winapi - 如何捕获正在播放的音频?

转载 作者:行者123 更新时间:2023-12-02 15:02:23 26 4
gpt4 key购买 nike

有谁知道如何以编程方式捕获正在播放的声音(即来自声卡的所有声音,而不是来自麦克风等输入设备的声音)。

最佳答案

假设您正在谈论 Windows,则基本上可以通过三种方法来执行此操作。

第一个是打开音频设备的主输出作为录音源。这只有在驱动程序支持时才可能实现,尽管现在大多数驱动程序都支持它。虚拟设备的常见名称是“What You Hear”或“Wave Out”。您将需要使用合适的 API(请参阅 MSDN 中的 WaveIn 或 DirectSound)来进行捕获。

第二种方法是编写一个过滤器驱动程序,可以在音频流到达物理设备之前拦截它。再次强调,此技术仅适用于具有合适驱动程序拓扑的设备,并且肯定不适合胆小的人。

这意味着这些选项都不能保证在具有任意硬件的 PC 上工作。

最后一种选择是使用虚拟音频设备,例如 Virtual Audio Cable 。如果此设备被设置为 Windows 中的默认播放设备,则所有运行良好的应用程序都将通过它播放。然后,您可以从同一设备进行记录以捕获总输出。只要您可以控制要录制的应用程序使用的设备,那么此选项将始终有效。

所有这些技术都有其优点和缺点 - 由您决定哪一种最适合您的需求。

关于winapi - 如何捕获正在播放的音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/211484/

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