commit
4c0cbe3253
|
@ -6,6 +6,15 @@ Project versioning adheres to [Semantic Versioning](http://semver.org/).
|
||||||
Commit convention is based on [Conventional Commits](http://conventionalcommits.org).
|
Commit convention is based on [Conventional Commits](http://conventionalcommits.org).
|
||||||
Change log format is based on [Keep a Changelog](http://keepachangelog.com/).
|
Change log format is based on [Keep a Changelog](http://keepachangelog.com/).
|
||||||
|
|
||||||
|
## [1.4.1](https://github.com/lyswhut/lx-music-desktop/compare/v1.4.0...v1.4.1) - 2020-11-25
|
||||||
|
|
||||||
|
|
||||||
|
### 修复
|
||||||
|
|
||||||
|
- 修复有歌词翻译与无歌词的音乐间切换会导致歌词翻译残留显示的问题
|
||||||
|
- 修复歌曲URL过期时,等待刷新URL的自动切换歌曲时间间隔太短的问题
|
||||||
|
- 修复某些电脑上的某些歌曲没有声音的问题(升级Electron9.3.4导致的,现降级到9.3.3)
|
||||||
|
|
||||||
## [1.4.0](https://github.com/lyswhut/lx-music-desktop/compare/v1.3.0...v1.4.0) - 2020-11-21
|
## [1.4.0](https://github.com/lyswhut/lx-music-desktop/compare/v1.3.0...v1.4.0) - 2020-11-21
|
||||||
|
|
||||||
### 新增
|
### 新增
|
||||||
|
|
12
FAQ.md
12
FAQ.md
|
@ -39,6 +39,12 @@
|
||||||
|
|
||||||
播放在线列表内的歌曲需要将它们都添加到我的列表才能播放,你可以全选列表内的歌曲然后添加到现有列表或者新创建的列表,然后去播放该列表内的歌曲。
|
播放在线列表内的歌曲需要将它们都添加到我的列表才能播放,你可以全选列表内的歌曲然后添加到现有列表或者新创建的列表,然后去播放该列表内的歌曲。
|
||||||
|
|
||||||
|
## 无法打开外部歌单
|
||||||
|
|
||||||
|
不支持垮源打开歌单,请**确认**你需要打开的歌单平台是否与软件标签所写的**歌单源**对应(不一样的话请通过右上角切换歌单源);<br>
|
||||||
|
对于分享出来的歌单,若打开失败,可尝试先在浏览器中打开后,再从浏览器地址栏复制URL地址到软件打开;<br>
|
||||||
|
或者如果你知道歌单 id 也可以直接输入歌单 id 打开。<br>
|
||||||
|
|
||||||
## Windows 7 下界面异常(界面显示不完整)
|
## Windows 7 下界面异常(界面显示不完整)
|
||||||
|
|
||||||
由于软件默认使用了透明窗口,根据Electron官方文档的[说明](https://electronjs.org/docs/api/frameless-window#%E5%B1%80%E9%99%90%E6%80%A7):
|
由于软件默认使用了透明窗口,根据Electron官方文档的[说明](https://electronjs.org/docs/api/frameless-window#%E5%B1%80%E9%99%90%E6%80%A7):
|
||||||
|
@ -70,12 +76,6 @@
|
||||||
- 清理安装路径下的残留文件
|
- 清理安装路径下的残留文件
|
||||||
- 清理注册表(建议用清理工具清理)
|
- 清理注册表(建议用清理工具清理)
|
||||||
|
|
||||||
## 无法打开外部歌单
|
|
||||||
|
|
||||||
不支持垮源打开歌单,请**确认**你需要打开的歌单平台是否与软件标签所写的**歌单源**对应(不一样的话请通过右上角切换歌单源);<br>
|
|
||||||
对于分享出来的歌单,若打开失败,可尝试先在浏览器中打开后,再从浏览器地址栏复制URL地址到软件打开;<br>
|
|
||||||
或者如果你知道歌单 id 也可以直接输入歌单 id 打开。<br>
|
|
||||||
|
|
||||||
## 软件无法联网
|
## 软件无法联网
|
||||||
|
|
||||||
软件的排行榜、歌单、搜索列表**都**无法加载:
|
软件的排行榜、歌单、搜索列表**都**无法加载:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "lx-music-desktop",
|
"name": "lx-music-desktop",
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -7097,9 +7097,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"electron": {
|
"electron": {
|
||||||
"version": "9.3.4",
|
"version": "9.3.3",
|
||||||
"resolved": "https://registry.npm.taobao.org/electron/download/electron-9.3.4.tgz?cache=0&sync_timestamp=1604968518869&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron%2Fdownload%2Felectron-9.3.4.tgz",
|
"resolved": "https://registry.npm.taobao.org/electron/download/electron-9.3.3.tgz?cache=0&sync_timestamp=1606195775548&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron%2Fdownload%2Felectron-9.3.3.tgz",
|
||||||
"integrity": "sha1-1i3Z+KvJPACYeHFN6eYNsDA2GgU=",
|
"integrity": "sha1-maZhnV32j5dpel0dgu86imP83zY=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@electron/get": "^1.0.1",
|
"@electron/get": "^1.0.1",
|
||||||
|
@ -7108,9 +7108,9 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "12.19.4",
|
"version": "12.19.6",
|
||||||
"resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-12.19.4.tgz?cache=0&sync_timestamp=1604951079891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.19.4.tgz",
|
"resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-12.19.6.tgz?cache=0&sync_timestamp=1605819795096&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.19.6.tgz",
|
||||||
"integrity": "sha1-zfu2LibHQ17ZqrnJQTk8w1mOm0Y=",
|
"integrity": "sha1-+/JJ+kZIfdjHOG14UjE2i5KjOlM=",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7648,7 +7648,7 @@
|
||||||
},
|
},
|
||||||
"eslint-config-standard": {
|
"eslint-config-standard": {
|
||||||
"version": "14.1.1",
|
"version": "14.1.1",
|
||||||
"resolved": "https://registry.npm.taobao.org/eslint-config-standard/download/eslint-config-standard-14.1.1.tgz?cache=0&sync_timestamp=1604090914442&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-config-standard%2Fdownload%2Feslint-config-standard-14.1.1.tgz",
|
"resolved": "https://registry.npm.taobao.org/eslint-config-standard/download/eslint-config-standard-14.1.1.tgz?cache=0&sync_timestamp=1605664520005&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-config-standard%2Fdownload%2Feslint-config-standard-14.1.1.tgz",
|
||||||
"integrity": "sha1-gwqOROeu995nRkl5rQa0BgJsVuo=",
|
"integrity": "sha1-gwqOROeu995nRkl5rQa0BgJsVuo=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
@ -8077,7 +8077,7 @@
|
||||||
},
|
},
|
||||||
"eslint-plugin-standard": {
|
"eslint-plugin-standard": {
|
||||||
"version": "4.1.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npm.taobao.org/eslint-plugin-standard/download/eslint-plugin-standard-4.1.0.tgz?cache=0&sync_timestamp=1604979354814&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-standard%2Fdownload%2Feslint-plugin-standard-4.1.0.tgz",
|
"resolved": "https://registry.npm.taobao.org/eslint-plugin-standard/download/eslint-plugin-standard-4.1.0.tgz?cache=0&sync_timestamp=1606091897901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-standard%2Fdownload%2Feslint-plugin-standard-4.1.0.tgz",
|
||||||
"integrity": "sha1-DDvzpn6FP4u7xYD7SUX78W9Bt8U=",
|
"integrity": "sha1-DDvzpn6FP4u7xYD7SUX78W9Bt8U=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
@ -8541,7 +8541,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "2.6.9",
|
"version": "2.6.9",
|
||||||
"resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1600502894812&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
|
"resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1605791516034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
|
||||||
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
|
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
|
@ -14631,7 +14631,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"type-fest": {
|
"type-fest": {
|
||||||
"version": "0.13.1",
|
"version": "0.13.1",
|
||||||
"resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.13.1.tgz?cache=0&sync_timestamp=1602623859603&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.13.1.tgz",
|
"resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.13.1.tgz?cache=0&sync_timestamp=1605529535783&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.13.1.tgz",
|
||||||
"integrity": "sha1-AXLLW86AsL1ULqNI21DH4hg02TQ=",
|
"integrity": "sha1-AXLLW86AsL1ULqNI21DH4hg02TQ=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "lx-music-desktop",
|
"name": "lx-music-desktop",
|
||||||
"version": "1.4.0",
|
"version": "1.4.1",
|
||||||
"description": "一个免费的音乐下载助手",
|
"description": "一个免费的音乐下载助手",
|
||||||
"main": "./dist/electron/main.js",
|
"main": "./dist/electron/main.js",
|
||||||
"productName": "lx-music-desktop",
|
"productName": "lx-music-desktop",
|
||||||
|
@ -176,7 +176,7 @@
|
||||||
"cross-env": "^7.0.2",
|
"cross-env": "^7.0.2",
|
||||||
"css-loader": "^4.3.0",
|
"css-loader": "^4.3.0",
|
||||||
"del": "^6.0.0",
|
"del": "^6.0.0",
|
||||||
"electron": "^9.3.4",
|
"electron": "^9.3.3",
|
||||||
"electron-builder": "^22.9.1",
|
"electron-builder": "^22.9.1",
|
||||||
"electron-debug": "^3.1.0",
|
"electron-debug": "^3.1.0",
|
||||||
"electron-devtools-installer": "^3.1.1",
|
"electron-devtools-installer": "^3.1.1",
|
||||||
|
|
|
@ -1,15 +1,6 @@
|
||||||
### 新增
|
|
||||||
|
|
||||||
- 托盘菜单新增显示、隐藏主界面选项,为Linux、MAC版添加托盘菜单
|
|
||||||
- 新增播放进度信息保存
|
|
||||||
|
|
||||||
### 优化
|
|
||||||
|
|
||||||
- 移除kg源的歌词文件开头的空白字符串
|
|
||||||
|
|
||||||
### 修复
|
### 修复
|
||||||
|
|
||||||
- 修复专辑图片无法嵌入的问题
|
- 修复有歌词翻译与无歌词的音乐间切换会导致歌词翻译残留显示的问题
|
||||||
- 修复播放状态栏切换“上一首”歌曲按钮提示错误的问题
|
- 修复歌曲URL过期时,等待刷新URL的自动切换歌曲时间间隔太短的问题
|
||||||
- 修复移动单首歌曲时,如果目标列表存在该歌曲,会导致将源列表与目标列表里的目标歌曲移除
|
- 修复某些电脑上的某些歌曲没有声音的问题(升级Electron9.3.4导致的,现降级到9.3.3)
|
||||||
- 修复kg源歌曲信息带有单引号等特殊字符被转义的问题
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -279,7 +279,7 @@ export default {
|
||||||
rendererSend(NAMES.winLyric.close)
|
rendererSend(NAMES.winLyric.close)
|
||||||
},
|
},
|
||||||
setLyric() {
|
setLyric() {
|
||||||
window.lrc.setLyric((this.isShowLyricTransition && this.lyrics.tlyric ? this.lyrics.tlyric + '\n' : '') + this.lyrics.lyric)
|
window.lrc.setLyric((this.isShowLyricTransition && this.lyrics.tlyric ? (this.lyrics.tlyric + '\n') : '') + (this.lyrics.lyric || ''))
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -373,7 +373,8 @@ export default {
|
||||||
this.addDelayNextTimeout()
|
this.addDelayNextTimeout()
|
||||||
})
|
})
|
||||||
audio.addEventListener('loadeddata', () => {
|
audio.addEventListener('loadeddata', () => {
|
||||||
// console.log('loadeddata')
|
console.log('loadeddata')
|
||||||
|
this.clearLoadingTimeout()
|
||||||
this.status = this.statusText = this.$t('core.player.loading')
|
this.status = this.statusText = this.$t('core.player.loading')
|
||||||
this.maxPlayTime = audio.duration
|
this.maxPlayTime = audio.duration
|
||||||
if (window.restorePlayInfo) {
|
if (window.restorePlayInfo) {
|
||||||
|
@ -388,8 +389,8 @@ export default {
|
||||||
if (!this.targetSong.interval && this.listId != 'download') this.updateMusicInfo({ id: this.listId, index: this.playIndex, data: { interval: formatPlayTime2(this.maxPlayTime) } })
|
if (!this.targetSong.interval && this.listId != 'download') this.updateMusicInfo({ id: this.listId, index: this.playIndex, data: { interval: formatPlayTime2(this.maxPlayTime) } })
|
||||||
})
|
})
|
||||||
audio.addEventListener('loadstart', () => {
|
audio.addEventListener('loadstart', () => {
|
||||||
// console.log('loadstart')
|
console.log('loadstart')
|
||||||
this.startBuffering()
|
this.startLoadingTimeout()
|
||||||
this.status = this.statusText = this.$t('core.player.loading')
|
this.status = this.statusText = this.$t('core.player.loading')
|
||||||
})
|
})
|
||||||
audio.addEventListener('canplay', () => {
|
audio.addEventListener('canplay', () => {
|
||||||
|
@ -399,9 +400,8 @@ export default {
|
||||||
this.mediaBuffer.playTime = 0
|
this.mediaBuffer.playTime = 0
|
||||||
audio.currentTime = playTime
|
audio.currentTime = playTime
|
||||||
}
|
}
|
||||||
if (this.mediaBuffer.timeout) {
|
this.clearBufferTimeout()
|
||||||
this.clearBufferTimeout()
|
|
||||||
}
|
|
||||||
// if (this.musicInfo.lrc) window.lrc.play(audio.currentTime * 1000)
|
// if (this.musicInfo.lrc) window.lrc.play(audio.currentTime * 1000)
|
||||||
this.status = this.statusText = ''
|
this.status = this.statusText = ''
|
||||||
})
|
})
|
||||||
|
@ -412,6 +412,7 @@ export default {
|
||||||
// })
|
// })
|
||||||
audio.addEventListener('emptied', () => {
|
audio.addEventListener('emptied', () => {
|
||||||
this.mediaBuffer.playTime = 0
|
this.mediaBuffer.playTime = 0
|
||||||
|
this.clearLoadingTimeout()
|
||||||
this.clearBufferTimeout()
|
this.clearBufferTimeout()
|
||||||
|
|
||||||
// console.log('媒介资源元素突然为空,网络错误 or 切换歌曲?')
|
// console.log('媒介资源元素突然为空,网络错误 or 切换歌曲?')
|
||||||
|
@ -713,6 +714,7 @@ export default {
|
||||||
this.status = this.musicInfo.name = this.musicInfo.singer = ''
|
this.status = this.musicInfo.name = this.musicInfo.singer = ''
|
||||||
this.musicInfo.songmid = null
|
this.musicInfo.songmid = null
|
||||||
this.musicInfo.lrc = null
|
this.musicInfo.lrc = null
|
||||||
|
this.musicInfo.tlrc = null
|
||||||
this.musicInfo.url = null
|
this.musicInfo.url = null
|
||||||
this.nowPlayTime = 0
|
this.nowPlayTime = 0
|
||||||
this.maxPlayTime = 0
|
this.maxPlayTime = 0
|
||||||
|
@ -795,8 +797,20 @@ export default {
|
||||||
// console.log(e)
|
// console.log(e)
|
||||||
this.isActiveTransition = false
|
this.isActiveTransition = false
|
||||||
},
|
},
|
||||||
|
startLoadingTimeout() {
|
||||||
|
// console.log('start load timeout')
|
||||||
|
this.loadingTimeout = setTimeout(() => {
|
||||||
|
this.handleNext()
|
||||||
|
}, 10000)
|
||||||
|
},
|
||||||
|
clearLoadingTimeout() {
|
||||||
|
if (!this.loadingTimeout) return
|
||||||
|
// console.log('clear load timeout')
|
||||||
|
clearTimeout(this.loadingTimeout)
|
||||||
|
this.loadingTimeout = null
|
||||||
|
},
|
||||||
startBuffering() {
|
startBuffering() {
|
||||||
console.log('start t')
|
console.error('start t')
|
||||||
if (this.mediaBuffer.timeout) return
|
if (this.mediaBuffer.timeout) return
|
||||||
this.mediaBuffer.timeout = setTimeout(() => {
|
this.mediaBuffer.timeout = setTimeout(() => {
|
||||||
this.mediaBuffer.timeout = null
|
this.mediaBuffer.timeout = null
|
||||||
|
@ -891,7 +905,7 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
setLyric() {
|
setLyric() {
|
||||||
window.lrc.setLyric((this.setting.player.isShowLyricTransition && this.musicInfo.tlrc ? this.musicInfo.tlrc + '\n' : '') + this.musicInfo.lrc)
|
window.lrc.setLyric((this.setting.player.isShowLyricTransition && this.musicInfo.tlrc ? (this.musicInfo.tlrc + '\n') : '') + (this.musicInfo.lrc || ''))
|
||||||
if (this.isPlay && (this.musicInfo.url || this.listId == 'download')) {
|
if (this.isPlay && (this.musicInfo.url || this.listId == 'download')) {
|
||||||
window.lrc.play(audio.currentTime * 1000)
|
window.lrc.play(audio.currentTime * 1000)
|
||||||
this.handleUpdateWinLyricInfo('play', audio.currentTime * 1000)
|
this.handleUpdateWinLyricInfo('play', audio.currentTime * 1000)
|
||||||
|
|
Loading…
Reference in New Issue