新增将歌词嵌入音频文件中
This commit is contained in:
+1
-1
@@ -112,7 +112,7 @@ function createWindow() {
|
||||
global.modules.mainWindow.loadURL(winURL)
|
||||
|
||||
winEvent(global.modules.mainWindow)
|
||||
// mainWindow.webContents.openDevTools()
|
||||
// global.modules.mainWindow.webContents.openDevTools()
|
||||
|
||||
if (!isDev) autoUpdate()
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ const extReg = /^(\.(?:jpe?g|png)).*$/
|
||||
const vendor = 'reference libFLAC 1.2.1 20070917'
|
||||
|
||||
const writeMeta = async(filePath, meta, picPath) => {
|
||||
if (meta.lyric) delete meta.lyric
|
||||
const comments = Object.keys(meta).map(key => `${key.toUpperCase()}=${meta[key] || ''}`)
|
||||
const data = {
|
||||
vorbis: {
|
||||
|
||||
@@ -4,11 +4,22 @@ const fs = require('fs')
|
||||
const request = require('request')
|
||||
const extReg = /^(\.(?:jpe?g|png)).*$/
|
||||
|
||||
const handleWriteMeta = (meta, filePath) => {
|
||||
if (meta.lyric) {
|
||||
meta.unsynchronisedLyrics = {
|
||||
language: 'zho',
|
||||
text: meta.lyric,
|
||||
}
|
||||
delete meta.lyric
|
||||
}
|
||||
NodeID3.write(meta, filePath)
|
||||
}
|
||||
|
||||
module.exports = (filePath, meta) => {
|
||||
if (!meta.APIC) return NodeID3.write(meta, filePath)
|
||||
if (!meta.APIC) return handleWriteMeta(meta, filePath)
|
||||
if (!/^http/.test(meta.APIC)) {
|
||||
delete meta.APIC
|
||||
return NodeID3.write(meta, filePath)
|
||||
return handleWriteMeta(meta, filePath)
|
||||
}
|
||||
let ext = path.extname(meta.APIC)
|
||||
let picPath = filePath.replace(/\.mp3$/, '') + (ext ? ext.replace(extReg, '$1') : '.jpg')
|
||||
@@ -16,7 +27,7 @@ module.exports = (filePath, meta) => {
|
||||
.on('response', respones => {
|
||||
if (respones.statusCode !== 200 && respones.statusCode != 206) {
|
||||
delete meta.APIC
|
||||
NodeID3.write(meta, filePath)
|
||||
handleWriteMeta(meta, filePath)
|
||||
return
|
||||
}
|
||||
respones
|
||||
@@ -24,10 +35,10 @@ module.exports = (filePath, meta) => {
|
||||
.on('finish', () => {
|
||||
if (respones.complete) {
|
||||
meta.APIC = picPath
|
||||
NodeID3.write(meta, filePath)
|
||||
handleWriteMeta(meta, filePath)
|
||||
} else {
|
||||
delete meta.APIC
|
||||
NodeID3.write(meta, filePath)
|
||||
handleWriteMeta(meta, filePath)
|
||||
}
|
||||
fs.unlink(picPath, err => {
|
||||
if (err) console.log(err.message)
|
||||
@@ -35,12 +46,12 @@ module.exports = (filePath, meta) => {
|
||||
}).on('error', err => {
|
||||
if (err) console.log(err.message)
|
||||
delete meta.APIC
|
||||
NodeID3.write(meta, filePath)
|
||||
handleWriteMeta(meta, filePath)
|
||||
})
|
||||
})
|
||||
.on('error', err => {
|
||||
if (err) console.log(err.message)
|
||||
delete meta.APIC
|
||||
NodeID3.write(meta, filePath)
|
||||
handleWriteMeta(meta, filePath)
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user