0

我是 Open AL 的新手。
在我的 iOS 应用程序中,我必须播放多个音频文件(并行),它们基本上是持续时间为 2 到 3 秒的动物/鸟类声音。
在我看来,我有不同的动物按钮。用户可以点击一个按钮,动物的声音将连续循环播放,直到用户再次点击相同的按钮来停止它。
在 Open AL 中,我可以有一个源和多个缓冲区,也可以有多个源,每个源都有一个缓冲区。对于我动态添加/删除声音的要求,哪个好:是“创建多个源”还是“一个源和多个缓冲区”。
哪个选项将是优化的解决方案。有人可以指导我吗?

4

1 回答 1

0

如果您希望能够在播放另一种动物声音的同时播放另一种动物声音,您将需要多个来源。如果您希望能够在从磁盘加载时播放多个动物声音而不会延迟播放,则需要多个缓冲区。

但是,拥有大量缓冲区会占用内存,因此如果内存不足,您可能需要妥协(具有相同数量的源,但缓冲区较少,并进行某种动态加载以减少延迟感用户部分)。

也就是说,从简单开始:1 个源,每个动物声音 1 个缓冲区。如果它们很短,则您不太可能耗尽内存,因此无需进行优化。

于 2013-02-11T17:28:57.413 回答