对于我的应用程序,当用户在其中导航时,我需要在后台播放音乐。所以,从 MixerHost 开始,我开发了一个可以同时播放 8 个音轨的混音器。尽管如此,它还是会消耗大量内存,因为 8 个音轨文件完全加载在 8 个缓冲区中。
为了限制内存消耗,我一开始只加载一小块数据,然后在回调中输入新数据
result = ExtAudioFileRead ( audioFileObject, &numberOfPacketsToRead, bufferList );
它工作得很好,但有时播放会短暂暂停。我知道问题的根源:在回调中进行 FS 访问。
但是还有另一种限制内存消耗的解决方案吗?