2011-05-26 51 views
2

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

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

任何建议都会很棒,代码示例甚至最好的API。我曾看过DirectSound和OpenAL,但我仍不确定如何开始。

回答

5

PortAudio是一个C库,应该适合您的需求。有一个tutorial让你开始。

PortAudio是一款免费的跨平台开源音频I/O库。它可以让你编写'C'或C++编译的简单音频程序 ,并且在许多平台上运行 ,包括 Windows,Macintosh OS X和Unix (OSS/ALSA)。它旨在促进 在不同平台上的 开发人员之间的音频软件交换。 许多应用程序使用PortAudio作为 音频I/O。

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

+1

对于任何遇到此问题的人,教程现在位于http://portaudio.com/docs/v19-doxydocs/tutorial_start.html – mmdeas 2012-07-08 22:11:22

+0

@mmdeas谢谢。我更新了无效链接。 – 2012-07-09 15:03:50

相关问题