2

我想使用 ANSI C 在 Mac OS X(以及理想的其他类 Unix 操作系统)上做一些声音合成。

这是出于学习目的,而不是“我需要一个解决方案,任何解决方案,快!”

假设我的 C 程序中有一个 8 位缓冲区,我每秒更新 22050 次。如何让我的扬声器将其输出为波形?

4

2 回答 2

3

SDL 可以播放声音缓冲区。但 PortAudio 可能会更好 PA 会在需要更多数据时调用您的 C 回调,然后您可以将其交给下一个缓冲区。实际上这很容易。

于 2010-01-22T14:22:10.520 回答
1

没有 POSIX 音频 API 或类似的东西。因此,如果您想在 Linux、OSX 等上获得声音支持,您需要一个包含不同操作系统的原生声音 API 的库。看看这个SO question。它不是直接要求 OSX,但大多数答案也应该适用于它,除了 libao。至少我在他们的主页上没有找到任何东西,说他们支持 OSX。

于 2010-01-22T23:02:43.637 回答