是否可以获取Windows 7中默认音频终结点设备缓冲区的指针? [英] Is it possible to grab a pointer to the default audio endpoint device buffer in Windows 7?

查看:116
本文介绍了是否可以获取Windows 7中默认音频终结点设备缓冲区的指针?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在此处使用Win32 API.我一直在MSDN文档中搜索Windows Vista +中的核心音频服务,但运气不好,无法找到一种方法来保护默认音频缓冲区.

Working with the Win32 API here. I've been scouring through the MSDN documentation for the core audio services in Windows Vista+, and haven't had much luck finding a way to secure the default audio buffer.

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

My goal is to set up a real-time spectrograph data of the audio being played. Is there any way to access the audio stream before it is played through the speakers?

我想我找到了答案.在下面发布.

I think I found the answer. Posted below.

推荐答案

好消息小伙子们!我想出了一个解决方案.

Good News lads! I figured out a solution.

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

The WASAPI Loopback Recording mode, outlined here: http://msdn.microsoft.com/en-us/library/windows/desktop/dd316551(v=vs.85).aspx, lists in detail a way to "copy the output stream from the audio engine into an application's capture buffer". Its as close to a pointer of the audio output buffer as possible.

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

Therefore, technically it isn't possible to actually access the audio engine's buffer (in software at least), but you can read what's the Wave Out mix is.

一旦我开始工作,我将发布有关延迟问题的信息.

Once I get this working, I'll post about any latency issues.

这篇关于是否可以获取Windows 7中默认音频终结点设备缓冲区的指针?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆