diff --git a/publish/changeLog.md b/publish/changeLog.md index fe7f7dc566..4b87c6220a 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -1,6 +1,7 @@ ### 新增 - 新增 是否将歌词显示在状态栏 设置,默认关闭,该功能只在 MacOS 下可用(#1940) +- 新增设置-播放详情页设置-延迟歌词滚动设置(#1985) ### 优化 diff --git a/src/common/defaultSetting.ts b/src/common/defaultSetting.ts index 92f6fed71b..033f92943a 100644 --- a/src/common/defaultSetting.ts +++ b/src/common/defaultSetting.ts @@ -67,6 +67,7 @@ const defaultSetting: LX.AppSetting = { 'playDetail.isShowLyricProgressSetting': false, 'playDetail.style.fontSize': 140, 'playDetail.style.align': 'center', + 'playDetail.isDelayScroll': true, 'desktopLyric.enable': false, 'desktopLyric.isLock': false, diff --git a/src/common/types/app_setting.d.ts b/src/common/types/app_setting.d.ts index e902ba63ec..d7b7970e11 100644 --- a/src/common/types/app_setting.d.ts +++ b/src/common/types/app_setting.d.ts @@ -299,6 +299,11 @@ declare global { */ 'playDetail.style.align': 'center' | 'left' | 'right' + /** + * 播放详情页-是否延迟桌面歌词滚动 + */ + 'playDetail.isDelayScroll': boolean + /** * 是否启用桌面歌词 diff --git a/src/lang/en-us.json b/src/lang/en-us.json index eedfa22200..c98915d557 100644 --- a/src/lang/en-us.json +++ b/src/lang/en-us.json @@ -511,6 +511,7 @@ "setting__play_detail_font_size_current": "Current font size: {size}", "setting__play_detail_font_size_reset": "Reset", "setting__play_detail_font_zoom": "Zoom the currently playing lyrics", + "setting__play_detail_lyric_delay_scroll": "Delayed lyrics scrolling", "setting__play_detail_lyric_progress": "Allows to adjust playback progress by lyrics", "setting__play_lyric_lxlrc": "Use karaoke-style lyrics to play (if available, this function consumes more performance, and it is not recommended to enable it on computers with low configuration)", "setting__play_lyric_roma": "Show lyrics roman", diff --git a/src/lang/zh-cn.json b/src/lang/zh-cn.json index 639d4b0a3c..93dcec0f08 100644 --- a/src/lang/zh-cn.json +++ b/src/lang/zh-cn.json @@ -511,6 +511,7 @@ "setting__play_detail_font_size_current": "当前字体大小:{size}", "setting__play_detail_font_size_reset": "重置", "setting__play_detail_font_zoom": "缩放当前正在播放的歌词", + "setting__play_detail_lyric_delay_scroll": "延迟歌词滚动", "setting__play_detail_lyric_progress": "允许通过歌词调整播放进度", "setting__play_lyric_lxlrc": "使用卡拉OK式歌词播放(如果可用,此功能比较耗性能,低配置电脑不建议开启)", "setting__play_lyric_roma": "显示歌词罗马音(如果可用)", diff --git a/src/lang/zh-tw.json b/src/lang/zh-tw.json index 95c572d64c..a4b5d349d7 100644 --- a/src/lang/zh-tw.json +++ b/src/lang/zh-tw.json @@ -511,6 +511,7 @@ "setting__play_detail_font_size_current": "目前字體大小:{size}", "setting__play_detail_font_size_reset": "重置", "setting__play_detail_font_zoom": "縮放目前正在播放的歌詞", + "setting__play_detail_lyric_delay_scroll": "延遲歌詞滾動", "setting__play_detail_lyric_progress": "允許透過歌詞調整播放進度", "setting__play_lyric_lxlrc": "使用卡拉OK式歌詞播放(如果可用,此功能比較耗性能,低配置電腦不建議開啟)", "setting__play_lyric_roma": "顯示歌詞羅馬音(如果可用)", diff --git a/src/renderer/utils/compositions/useLyric.js b/src/renderer/utils/compositions/useLyric.js index 8b74be5d17..cf25e8a6c8 100644 --- a/src/renderer/utils/compositions/useLyric.js +++ b/src/renderer/utils/compositions/useLyric.js @@ -2,6 +2,7 @@ import { ref, onMounted, onBeforeUnmount, watch, nextTick } from '@common/utils/ import { throttle, formatPlayTime2 } from '@common/utils/common' import { scrollTo } from '@common/utils/renderer' import { play } from '@renderer/core/player/action' +import { appSetting } from '@renderer/store/setting' // import { player as eventPlayerNames } from '@renderer/event/names' export default ({ isPlay, lyric, playProgress, isShowLyricProgressSetting, offset }) => { @@ -192,10 +193,14 @@ export default ({ isPlay, lyric, playProgress, isShowLyricProgressSetting, offse isSetedLines &&= false if (oldLine == null || line - oldLine != 1) return handleScrollLrc() - delayScrollTimeout = setTimeout(() => { - delayScrollTimeout = null - handleScrollLrc(600) - }, 600) + if (appSetting['playDetail.isDelayScroll']) { + delayScrollTimeout = setTimeout(() => { + delayScrollTimeout = null + handleScrollLrc(600) + }, 600) + } else { + handleScrollLrc() + } } watch(() => lyric.lines, initLrc) diff --git a/src/renderer/views/Setting/components/SettingPlayDetail.vue b/src/renderer/views/Setting/components/SettingPlayDetail.vue index 59072221b2..1eb4cd4f56 100644 --- a/src/renderer/views/Setting/components/SettingPlayDetail.vue +++ b/src/renderer/views/Setting/components/SettingPlayDetail.vue @@ -3,6 +3,8 @@ dt#play_detail {{ $t('setting__play_detail') }} dd .gap-top base-checkbox(id="setting_play_detail_font_zoom_enable" :model-value="appSetting['playDetail.isZoomActiveLrc']" :label="$t('setting__play_detail_font_zoom')" @update:model-value="updateSetting({'playDetail.isZoomActiveLrc': $event})") + .gap-top + base-checkbox(id="setting_play_detail_lyric_delayScroll" :model-value="appSetting['playDetail.isDelayScroll']" :label="$t('setting__play_detail_lyric_delay_scroll')" @update:model-value="updateSetting({ 'playDetail.isDelayScroll': $event })") .gap-top base-checkbox(id="setting_play_detail_lyric_progress_enable" :model-value="appSetting['playDetail.isShowLyricProgressSetting']" :label="$t('setting__play_detail_lyric_progress')" @update:model-value="updateSetting({'playDetail.isShowLyricProgressSetting': $event})")