如何用SDL输出多个声音?

时间:2014-08-17 00:44:39

标签: c++ audio sdl

我有一个库可以将一些音频数据解码为PCM,它可以与Alsa一起使用。

我选择SDL来抽象音频输出,因为SDL与平台无关。我重新编写它以使用SDL输出音频,它的工作原理。但是,我想同时输出多个声音,SDL每次只支持一个声音。

我该怎么办?

我可以使用其他音频库,如果它是免费的,轻量级的,并且支持Linux,Windows XP和Android 2.3。

编辑:我必须在每次迭代时部分填充缓冲区,而不是解码整个音频数据并填充音频缓冲区。循环或回调函数是填充下一个要播放的音频帧的解决方案。

1 个答案:

答案 0 :(得分:2)

如果您正在使用SDL,SDL_Mixer就是您的选择。它可以一次播放多个声音,但只有一首音乐。

您可以在http://www.libsdl.org/projects/SDL_mixer/(或谷歌SDL_Mixer)下载SDL_Mixer并获取文档。