降低反复提取封面耗时

This commit is contained in:
2023-10-22 14:21:37 +08:00
parent 277e2dd5b9
commit f16e3f62cb
1 changed files with 5 additions and 1 deletions

View File

@ -30,7 +30,8 @@ await database.store('musicObjectStore') // 音乐(为什么会用这么丑的
// 读取本地音乐列表并标识为缓存状态(本地缓存) // 读取本地音乐列表并标识为缓存状态(本地缓存)
const list = await Promise.all((await database.getAll('musicObjectStore')).map(async item => { const list = await Promise.all((await database.getAll('musicObjectStore')).map(async item => {
if (!item.picture) { if (!item.picture && item.picture !== false) {
console.log('提取封面', item.name)
const blob = new Blob([item.arrayBuffer], { type: item.type }) const blob = new Blob([item.arrayBuffer], { type: item.type })
const metadata = await parseBlob(blob) const metadata = await parseBlob(blob)
const picture = metadata.common.picture?.[0] const picture = metadata.common.picture?.[0]
@ -38,7 +39,10 @@ const list = await Promise.all((await database.getAll('musicObjectStore')).map(a
const format = picture.format const format = picture.format
const data = picture.data const data = picture.data
item.picture = `data:${format};base64,${Buffer.from(data).toString('base64')}` item.picture = `data:${format};base64,${Buffer.from(data).toString('base64')}`
} else {
item.picture = false
} }
database.put('musicObjectStore', item)
} }
return { save: true, ...item } return { save: true, ...item }
})) }))