优化kw源英文与翻译歌词的匹配

pull/930/merge
lyswhut 2022-01-26 17:47:03 +08:00
parent 58e537732c
commit 4b0fdceb76
2 changed files with 19 additions and 36 deletions

View File

@ -1,23 +1,3 @@
### 新增
- 新增“便携”功能在Windows平台下若程序目录下存在 portable 目录,则自动使用此目录作为数据存储目录
- 新增 Scheme URL 支持同时发布lx-music-script项目配合使用一个油猴脚本可以在浏览器中的官方平台网页直接调用LX MusicScheme URL的调用说明看Readme.md文档的Scheme URL支持部分
- 新增启动参数`-proxy-server`与`-proxy-bypass-list`详细介绍看Readme.md文档的启动参数部分
- 新增桌面歌词是否延迟滚动设置,默认开启,若你不想要桌面歌词延迟滚动可以去设置-桌面歌词设置关掉
### 优化
- 为可视化音频的频谱整体添加频谱均值加成,使频谱显示更有节奏感
- 优化程序初始化逻辑,修复无网络的情况下的初始化问题
- 我的列表-列表名的右击菜单更新已收藏的在线列表时将始终重新加载不再使用缓存解决在原平台更新歌单后在LX点击更新可能看到的还是在原平台更新前的歌单的问题
### 修复
- 修复代理不生效的问题
- 修复`openDevTools`选项无效的问题
- 修复播放状态的提示问题
- 修复tx源无搜索结果的问题
### 其他
- 更新 Electron 到 v13.6.7
- 优化kw源英文与翻译歌词的匹配

View File

@ -14,22 +14,20 @@ export default {
for (const item of arr) {
if (lrcSet.has(item.time)) {
const tItem = lrc.pop()
tItem.time = lrc[lrc.length - 1].time
lrcT.push(tItem)
lrc.push(item)
} else {
lrcT.push(item)
lrc.push(item)
lrcSet.add(item.time)
}
}
if (lrc.length) {
if ((lrcT.length - lrc.length) > (lrcT.length * 0.1)) { // 翻译比正文多则证明翻译可能有问题,直接将其丢弃
lrc = lrcT
lrcT = []
} else {
lrc.unshift(lrcT.shift())
}
} else {
lrc = lrcT
lrcT = []
if (lrcT.length && lrc.length > lrcT.length) {
const tItem = lrc.pop()
tItem.time = lrc[lrc.length - 1].time
lrcT.push(tItem)
}
return {
@ -45,16 +43,21 @@ export default {
requestObj.promise = requestObj.promise.then(({ body }) => {
// console.log(body)
if (!body.data?.lrclist?.length) return Promise.reject(new Error('Get lyric failed'))
const { lrc, lrcT } = this.sortLrcArr(body.data.lrclist)
let lrcInfo
try {
lrcInfo = this.sortLrcArr(body.data.lrclist)
} catch {
return Promise.reject(new Error('Get lyric failed'))
}
// console.log(body.data.lrclist)
// console.log(lrc, lrcT)
// console.log(lrcInfo.lrc, lrcInfo.lrcT)
// console.log({
// lyric: decodeName(this.transformLrc(body.data.songinfo, lrc)),
// tlyric: decodeName(this.transformLrc(body.data.songinfo, lrcT)),
// })
return {
lyric: decodeName(this.transformLrc(body.data.songinfo, lrc)),
tlyric: lrcT.length ? decodeName(this.transformLrc(body.data.songinfo, lrcT)) : '',
lyric: decodeName(this.transformLrc(body.data.songinfo, lrcInfo.lrc)),
tlyric: lrcInfo.lrcT.length ? decodeName(this.transformLrc(body.data.songinfo, lrcInfo.lrcT)) : '',
}
})
return requestObj