在Windows上使用C将数据流传输到声卡

在Windows上使用C将数据流传输到声卡,c,windows,signal-processing,openal,directsound,C,Windows,Signal Processing,Openal,Directsound,作为大学项目的一部分,我必须做一些信号处理,并希望使用PC声卡输出结果。该软件必须用C语言编写,并且需要与Windows(最好是7和XP)一起使用 我找到了输出.wav和类似文件的代码示例,但我对连续输出数据而不是从文件输出感兴趣。虽然有些声音API似乎有自己处理缓冲区的方法,但输出数据很可能以数组的形式呈现 任何建议都很好,代码示例甚至最好的API也是如此。我已经看过DirectSound和OpenAL,但仍然不确定如何开始。是一个C库,应该适合您的需要。有一个方法可以让你开始 PortAud

作为大学项目的一部分,我必须做一些信号处理,并希望使用PC声卡输出结果。该软件必须用C语言编写,并且需要与Windows(最好是7和XP)一起使用

我找到了输出.wav和类似文件的代码示例,但我对连续输出数据而不是从文件输出感兴趣。虽然有些声音API似乎有自己处理缓冲区的方法,但输出数据很可能以数组的形式呈现

任何建议都很好,代码示例甚至最好的API也是如此。我已经看过DirectSound和OpenAL,但仍然不确定如何开始。

是一个C库,应该适合您的需要。有一个方法可以让你开始

PortAudio是一个免费的跨平台, 开源的音频I/O库。信息技术 让您编写简单的音频程序 在C或C++中编译 在许多平台上运行,包括 Windows、Macintosh OS X和Unix (OSS/ALSA)。它旨在促进 音频软件之间的交换 不同平台上的开发人员。 许多应用程序使用PortAudio进行 音频输入/输出

PortAudio提供了一个非常简单的API 用于录制和/或播放声音 使用简单的回调函数或 阻塞读/写接口。例子 包括播放正弦信号的程序 波形,处理音频输入(吉他) 模糊),录制和播放音频,列表 可用的音频设备等


如果您想使用directshow,可能会有所帮助。

对于遇到此问题的任何人,教程现在位于@mmdeas,谢谢。我更新了死链接。