2

我正在第一次潜入 Windows 的 WASAPI 系统,我不知道我想要的东西是否可以通过 Windows API 实现。

我正在尝试编写程序,该程序将记录来自各种程序的声音并将每个程序分成单独的录制曲目/音频文件。从我所做的研究中,我知道我需要记录的单元是渲染到端点的各种音频会话,而正常的记录方式是采用渲染端点并执行环回。但是,从我目前在 MSDN 中阅读的内容来看,我可以做的唯一与会话的交互是通过IAudioSessionControl,这并没有为我提供获取会话流副本的方法。

我是否遗漏了一些允许我使用 WASAPI(或其他一些 Windows API)执行此操作并在它们混合在一起形成端点之前获取单个会话(或单个流)的东西,或者这是一个不可能实现的目标?

4

1 回答 1

4

混合发生在 API (WASAPI) 内部,您无权访问其他音频客户端的缓冲区,尤其是。它们首先不存在于当前流程的上下文中。如果所讨论的任务允许像这样的肮脏技巧,也许最好的(不是那么好,但没有更好的选择)方法是挂钩 API 调用并在通往 WASAPI 的途中拦截数据。

于 2013-02-08T19:07:47.417 回答