优秀的内存管理声音引擎(iPhone/iPad)

5
我正在寻找一个简单的声音引擎,没有高级效果,但是对缓冲存储的管理很好。它必须跟踪所有播放声音,卸载未使用的声音缓冲区(但保留所有当前播放的声音),调整声音组的增益。支持输入流和压缩格式将是优势。
PS:FMOD和BASS是很好的引擎,但价格过高,不适合这些低要求。

稍作澄清:您想播放什么样的声音?是要播放一些MP3文件,还是想要系统生成的声音? - UPT
仅限于从文件中提取ogg/wav格式的声音。 - brigadir
4个回答

2

我有几个参考资料,可能对你有所帮助:

Kowalski引擎是一个实时的音频引擎,用C语言编写,基于分层混音总线系统。

http://kowalski.sourceforge.net/

CLUNK C++库提供了对实时3D(双耳)声音生成的支持,对开发者几乎没有任何限制。

http://sourceforge.net/projects/clunk/

易于使用的Objective-C接口,可以与OpenAL、AVAudioPlayer和音频会话管理一起使用。

https://github.com/kstenerud/ObjectAL-for-iPhone

我相信这些资料可以帮助您解决出色的内存管理问题。


1
Kowalski引擎似乎是我正在寻找的东西。我将深入挖掘它以检查它是否支持我的请求。我最需要的两个功能是:purge_not_used_sounds()simply_load_and_play_sound_file(the_file) - brigadir
一些关于Kowalski引擎的注意事项:它使用软件声音处理,因此可能对iDevices来说会比较“沉重”。 - brigadir

0
我正在使用SoundMaster引擎。 它非常简单,并且具有良好的内存管理能力。

0

你尝试过STK吗?它可以与iOS的核心音频进行接口。我强烈推荐它,它具有所有重要的声音合成构建块,没有任何额外的东西(如CLAM),非常轻便和高度可移植。


0

我发现CocosDenshion(Cocos2d的一部分)易于使用,并且具有简单的内存管理。


我已经使用过它了。它不支持跟踪播放声音(因此无法确定当前哪些缓冲区是“忙碌”的),而且添加此功能需要很长时间。 - brigadir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接