gpt4 book ai didi

ios - iOS 内存崩溃上的 Web Audio API

转载 作者:行者123 更新时间:2023-11-29 11:32:31 25 4
gpt4 key购买 nike

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

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

请注意,相同的代码在 Chrome 桌面版上运行良好 - Safari 版确实提示内存使用率过高。

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

谢谢!

最佳答案

解码后的音频文件在 RAM 中的重量比在磁盘中的重量大得多。单个示例使用 4 bytes (32-bit float) .这相当于 230 MB 的 RAM 用于 48 000 Hz 采样率和立体声的 10 分钟音频。以相同的采样率和立体声播放一小时的音频将占用约 1.3 GB 的 RAM!

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

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

请注意,解码后的音频文件始终会根据设备的采样率进行重新采样。这意味着使用低采样率的音频无助于内存使用。

关于ios - iOS 内存崩溃上的 Web Audio API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52086879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com