我有一个库可以将一些音频数据解码为PCM,它可以与Alsa一起使用。
我选择SDL来抽象音频输出,因为SDL与平台无关。我重新编写它以使用SDL输出音频,它的工作原理。但是,我想同时输出多个声音,SDL每次只支持一个声音。
我该怎么办?
我可以使用其他音频库,如果它是免费的,轻量级的,并且支持Linux,Windows XP和Android 2.3。
编辑:我必须在每次迭代时部分填充缓冲区,而不是解码整个音频数据并填充音频缓冲区。循环或回调函数是填充下一个要播放的音频帧的解决方案。
答案 0 :(得分:2)
如果您正在使用SDL,SDL_Mixer就是您的选择。它可以一次播放多个声音,但只有一首音乐。
您可以在http://www.libsdl.org/projects/SDL_mixer/(或谷歌SDL_Mixer)下载SDL_Mixer并获取文档。