gpt4 book ai didi

javascript - 不推荐使用 indexedDB 缓存音频文件?

转载 作者:行者123 更新时间:2023-12-05 03:48:23 29 4
gpt4 key购买 nike

我想使用 indexedDB 来存储我从 CDN 获得的音频文件 - 以改善用户体验,并且不要给我的 CDN 带来如此沉重的负载。这通常推荐用于 mp3 之类的文件吗?有什么问题吗?

我找到了一些关于在 indexedDb 中存储音频和图像的教程,但我之前也在此处寻找答案,and here somebody says that indexedDB is not generally recommended to store audio files . - 这是真的?遗憾的是,该人士没有给出任何进一步的解释。所以如果这是真的,我想知道为什么

非常感谢。

最佳答案

您可以在 IndexedDB 中存储二进制数据,但需要注意平台限制。

我所知道的主要平台限制在此 Best Practices 中进行了描述Google 工程师的文章 - 存储 Blob 类型的简单方法在 iOS 上不起作用 - 您需要使用一对函数转换为 ArrayBuffer:

function blobToArrayBuffer(blob) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.addEventListener('loadend', (e) => {
resolve(reader.result);
});
reader.addEventListener('error', reject);
reader.readAsArrayBuffer(blob);
});
}

function arrayBufferToBlob(buffer, type) {
return new Blob([buffer], {type: type});
}

许多针对存储的警告来自(不正确的)假设,您必须将数据转换为 base-64 编码的 ASCII,这很慢并且会增加所需的空间量。

关于javascript - 不推荐使用 indexedDB 缓存音频文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64424256/

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