我正在使用java制作波形文件编辑器,我们可以使用波谱切割复制粘贴波形文件。因为我正在以字节读取波形文件并将它们转换为双数组。它适用于小文件。但是,当我一次加载大型波形文件时,它会抛出堆内存错误,因为它必须创建该特定文件的大小帧长度的双倍数组。是否有任何替代方法,例如将波形文件加载到除了一次加载完整文件之外的其他部分.I已经尝试过,但是当我加载下一部分时,我无法编辑或播放上一部分。
请帮我看看如何将wave文件加载到编辑器中,没有outofmemory错误以及如何进行操作(剪切,复制,粘贴)而没有内存问题。请给我示例代码 提前致谢.. 等待回复
答案 0 :(得分:0)
根据你的要求,很难知道你究竟是什么意思。一个字节是8位而一个是64位,所以考虑使用字节数组而不是双数组也考虑在调用应用程序时增加JVM的内存大小...
如需更多帮助,请发布一些代码......
答案 1 :(得分:0)
您可以加载文件的块。也许看看java.nio。但是,如果保存时波的顺序或文件大小会发生变化,则必须在需要保存更改时随时写入整个文件。然后你可以重新加载你想要编辑的块(并且它在文件中的位置可能已经改变,你需要跟踪它)