我正在编写一个包含钢琴的简单iOS应用程序。
我只需要非常基本的东西,我可能会采用这种方法:
我的理解是一个AVAudioPlayer
实例只能用于一个声音。因此,我必须创建许多AVAudioPlayer
s(准确地说是88),每个钢琴键一个。
我的问题是,内存密集型是AVAudioPlayer
?我可以通过创建88 AVAudioPlayer
来初始化程序,将它们保存在内存中,并在适当时使用它们吗?或者AVAudioPlayer
的内存占用量是否太大,我是否应该根据需要分配/释放AVAudioPlayer
?如果是这样,分配/释放玩家是否足够快,以便用户不会注意到任何滞后?
答案 0 :(得分:1)
此项目使用OpenAL SoundBankPlayer作为该功能的解决方案。另一种方法是使用soundFont和Sampler AudioUnit。非常适合音乐创作类型的应用程序。好的细节和源代码:AudioGraph