【发布时间】:2021-02-27 14:27:42
【问题描述】:
我现在正在阅读有关驱动程序和核心音频 api 的微软文档。目前,我仍然很困惑要通过哪种方式来实现我所需要的。 我有一个独立的音频应用程序,使用 C++ 框架 JUCE 进行编码。而且我需要构建一个 Windows 解决方案,该解决方案将捕获将发送到音频端点设备的音频流,以将其用作我的音频应用程序的输入。
- 此流必须具有未更改的音量:始终为 1.0(无论硬件音量是否已更改或静音)。
- 我必须能够在不同的端点设备之间进行选择,例如,如果我有一个插入的外部声卡,我的音频应用程序应该能够拦截和复制流向该外部声卡的流,或者执行流向内置扬声器的流也是如此。
- 这个想法是在输出流被硬件卷修改修改之前捕获它们,并将它们的副本路由到我的应用程序而不更改输出路由和行为。
Microsoft 文档非常齐全,但即使 WASAPI 提供了许多从音频端点设备捕获和流式传输的方法,我也不确定是否有可能获得未更改的音量,因为它总是会捕获确切的内容从扬声器中出来。 这就是为什么我不知道是否可以直接在我的音频应用程序中实现一个功能,该功能将使用 WASAPI 获得我想要的流,或者我是否必须编写一个适当的音频驱动程序来复制我想要的流应用程序能够使用这些流。
我参考的文档: Audio Drivers design guide Core Audio APIs / WASAPI
感谢您的帮助,
最好的,
马克西姆
【问题讨论】:
标签: c++ windows audio driver wasapi