是否可以在 Windows 7 中获取指向默认音频端点设备缓冲区的指针?

Posted

技术标签:

【中文标题】是否可以在 Windows 7 中获取指向默认音频端点设备缓冲区的指针?【英文标题】:Is it possible to grab a pointer to the default audio endpoint device buffer in Windows 7? 【发布时间】:2011-10-03 19:39:39 【问题描述】:

在此处使用 Win32 API。我一直在搜索 MSDN 文档以了解 Windows Vista+ 中的核心音频服务,但没有找到保护默认音频缓冲区的方法。

我的目标是设置正在播放的音频的实时光谱数据。有什么方法可以在通过扬声器播放之前访问音频流?

编辑:我想我找到了答案。发布在下面。

【问题讨论】:

如果您认为这是答案,请务必照此发布并接受。 【参考方案1】:

好消息小伙子们!我想出了一个解决办法。

此处概述的 WASAPI 环回记录模式:http://msdn.microsoft.com/en-us/library/windows/desktop/dd316551(v=vs.85).aspx,详细列出了“将输出流从音频引擎复制到应用程序的捕获缓冲区”的方法。它尽可能接近音频输出缓冲区的指针。

因此,从技术上讲,实际上不可能访问音频引擎的缓冲区(至少在软件中),但您可以阅读 Wave Out 混音是什么。

一旦我得到这个工作,我会发布任何延迟问题。

【讨论】:

以上是关于是否可以在 Windows 7 中获取指向默认音频端点设备缓冲区的指针?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 7 中更改音频输出设备的默认共享模式采样率?

Windows:获取默认麦克风名称

如何从 mp4 容器中获取 aac 音频? (Windows 电话 7 和 C#)

如何从 .Net 应用程序中识别默认音频设备?

从 Windows Phone 上的轨道检测音频电平

如何在 Visual Basic .NET 中找到默认音频设备?