我目前正在从事一个项目,我在该项目中生成大量音频数据以存储在用户机器上。
它适用于少量数据,但随着内存使用量的增长,闪存应用程序开始挣扎并最终死亡。
我一直在考虑克服这个问题的可能方法,我在想,不是将所有数据存储在内存中(有时高达 100mb),一个可能的解决方案可能是将数据流式传输到服务器(每秒 44100 个浮点数)作为一旦数据积累结束,它就会被生成,然后将其发送回客户端。
1)你能看出这个想法有什么问题吗?如果有,你能提供一个更好的选择吗?
2)你能推荐一种好的服务器技术来实现这一点吗?
编辑 1
添加更多细节。
我正在使用 sound.extract 方法在客户端上生成音频。当音频被发送到扬声器时,我也将它发送到一个字节数组。
一旦用户点击了停止按钮,我就会在 bytearray 中的音频数据前添加一个 wav 标头,并允许用户下载他们正在收听的音频的 wav。
理想情况下,我不想限制用户可以保存多少数据。这可能是不可能的。
将所有这些音频数据存储在内存中会导致闪存中出现严重的性能问题。我不知道有什么方法可以将这些数据增量存储在客户端机器上,所以我在想一个解决方案可能是将数据增量流式传输到某处的服务器以减少内存负载。