iOS内存崩溃上的Web音频API

iOS内存崩溃上的Web音频API,ios,audio,web-audio-api,Ios,Audio,Web Audio Api,我们正在使用Web音频API在Web应用程序中播放和操作音频。 在iPad上的Safari中,当试图解码大型mp3文件(大约5MB)时,内存使用率会急剧上升,如果我们加载另一个类似大小的文件,它就会崩溃 在iPad上运行Web Audio API时,除非我们使用小文件,否则Web Audio API似乎无法真正使用 请注意,同样的代码在Chrome桌面版本上运行良好-Safari版本确实抱怨内存使用率高 有人知道如何回避这个问题吗?或者在iPad上使用网络音频播放音频文件的内存限制是多少 谢谢

我们正在使用Web音频API在Web应用程序中播放和操作音频。 在iPad上的Safari中,当试图解码大型mp3文件(大约5MB)时,内存使用率会急剧上升,如果我们加载另一个类似大小的文件,它就会崩溃

在iPad上运行Web Audio API时,除非我们使用小文件,否则Web Audio API似乎无法真正使用

请注意,同样的代码在Chrome桌面版本上运行良好-Safari版本确实抱怨内存使用率高

有人知道如何回避这个问题吗?或者在iPad上使用网络音频播放音频文件的内存限制是多少


谢谢

解码音频文件在RAM中的重量比磁盘上的重量大得多。单个样本使用。这将转换为230MB的RAM,在48000 Hz采样率和立体声条件下播放10分钟的音频。以相同的采样率和立体声播放一小时的音频需要~1,3 GB的RAM

所以,如果你解码很多文件,你会消耗大量的内存。我的建议是“取消编码”您不需要的文件(只是“忘记”不需要的音频缓冲区,这样垃圾收集器就可以释放内存)

您还可以使用单声道音频文件,而不是立体声,这将减少一半的内存使用

请注意,解码的音频文件总是按照设备的采样率重新采样。这意味着使用低采样率的音频对内存使用没有帮助