我是Open AL的新手
在我的iOS应用程序中,我将播放多个音频文件(并行),这些文件基本上只是持续2到3秒的动物/鸟类声音。
在我看来,我有不同的动物按钮。用户可以点击一个按钮,动物声音将连续循环播放,直到用户再次点击相同的按钮停止它。
在Open AL中,我可以有一个源和多个缓冲区或多个源,每个缓冲区都有一个缓冲区。对于我的动态添加/删除声音的要求,哪一个是好的:是否“创建多个源”或“一个源和多个缓冲区”。
哪个选项将是优化的解决方案。有人可以指导我吗?
答案 0 :(得分:0)
如果您希望能够播放一个动物声音而另一个已播放,则需要多个来源。如果您希望能够在从磁盘加载时播放多个动物声音而没有延迟播放,则需要多个缓冲区。
但是,有很多缓冲区会占用内存,因此如果内存不足(可能需要相同数量的源,但缓冲区较少,并且进行某种动态加载以减少感觉),您可能需要妥协对用户的延迟)。
那说,开始简单:1个源,每个动物声音1个缓冲区。如果它们很短,那么你不太可能耗尽内存,因此不需要进行优化。