渲染音频流(WASAPI / WINAPI)

时间:2011-03-21 19:59:27

标签: winapi audio audio-streaming wasapi

我目前正在阅读MSDN的文档,以将流呈现给音频渲染器。 或换句话说,从麦克风播放我捕获的数据。

http://msdn.microsoft.com/en-us/library/dd316756%28v=vs.85%29.aspx

此示例提供了示例。

我现在的问题是我无法理解项目流程。 我目前有一个不同的类存储我从捕获过程中获得的以下参数。 当程序从麦克风捕获流式音频数据时,这些参数将不断重写。

BYTE data;
UINT32 bufferframecount;
DWORD flag;
WAVEFORMATEX *pwfx;

我的问题是, loadData()函数的工作原理是什么? 它是否想要从捕获过程中获取我正在编写的参数? 程序如何将数据发送到音频渲染器,并在我的扬声器中播放。

1 个答案:

答案 0 :(得分:0)

loadData()函数填充pData指向的音频。该示例抽象了音频源,因此可以是.wav文件到您已捕获的麦克风音频。

因此,如果您尝试从该示例构建,我将实现MyAudioSource类,并且无论何时调用loadData(),它都只是从文件中读取PCM或浮点样本。然后,如果你运行该程序,它应该从扬声器播放文件中的音频。