4

如何访问当前波形输出样本流?

在 social.microsoft.com 上 2006 年 12 月的一个问题中(如何在 Vista 中从“Wave”或“Stereo Mix”录制?)yjslash 问:

在 Windows XP 或更早版本上,我可以将音频流捕获到扬声器。换句话说,DirectSoundCapture能够从选定的源行进行捕获。如果选择“Wave Out Mix”或“Stereo Mix”或类似的东西作为录制源线,DirectSoundCapture 能够将音频流录制到扬声器。

Larry Osterman (MSFT)(音频团队开发人员和StackOverflow 用户)对此做出了回应:

您在 XP 中为此使用了哪些 API?他们应该继续在 Vista 上工作。

WASAPI有一个特殊的 Loopback 模式,它允许客户端捕获混合后的音频流,这也可能会有所帮助

Stackoverflow 上的一个问题(How do I read system audio output in windows xp and windows 7?)还提到WASAPI能够对输出混合进行采样,并且从 Windows Vista 开始就可以使用。

2007 年 1 月的一篇 Windows 团队博客文章提到了对音频输出进行采样的能力(用于回声消除;以及 HDCP 将对其产生什么影响):

回声消除对优质内容的效果会较差吗?

我们相信 Windows Vista 为应用程序提供了对成功构建高质量回声消除功能的足够信息的访问。

使用什么 API 对音频输出进行采样?Vista 为应用程序提供了哪些访问权限来访问当前的音频输出流?WASAPI 的哪些功能以及如何使用它们允许对当前音频输出进行采样/捕获?

也可以看看

4

1 回答 1

2

我在 MSDN 中找到了这个Loopback Recording),还有这个Capturing a Stream)。

顺便说一句,根据 MSDN,WASAPI 不允许您捕获具有 DRM 保护的流:

Windows Vista 提供数字版权管理 (DRM)。WASAPI 不允许环回记录包含受 DRM 保护的内容的数字流。同样,受信任的音频驱动程序不允许环回设备捕获包含受保护内容的数字流。Windows Vista 仅允许受信任的驱动程序播放受保护的内容。有关受信任的驱动程序和 DRM 的详细信息,请参阅 Windows DDK 文档。

于 2011-04-27T18:29:28.683 回答