winapi - 渲染音频流(WASAPI/WINAPI)

标签 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()函数实际上是如何工作的。
是否应该从捕获过程中获取我正在编写的参数?
程序如何将数据发送到音频渲染器,并在扬声器中播放。

最佳答案

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

因此,如果您尝试从该示例进行构建,则将实现MyAudioSource类,并在调用loadData()时使其仅读取PCM或从文件中浮点采样。然后,如果您运行该程序,它将从扬声器中播放文件中的音频。

关于winapi - 渲染音频流(WASAPI/WINAPI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5382928/

相关文章:

c++ - 编译器和 CPU 重新排序

c++ - 多线程应用程序中的 SetCurrentDirectory

javascript - 使用javascript动态播放多种声音

audio - 在一个帧中,当新声音开始播放时,如何停止所有声音?

javascript - 重新启动组件上的 Audio() 流已安装

http - 如何设置实时音频流 http 服务器?

c++ - 防火墙异常代码仅适用于传出连接

c++ - Win32 : Monitoring for files being created or changed

iPhone日期选择器播放 'tick'声音

java - 最适合在智能手机中播放音频文件的文件格式