Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【bug】【歌词显示】在最后一句文字歌词后存在背景音乐时,桌面无法正确显示正在播放音乐。 #528

Closed
huangsijun17 opened this issue Apr 17, 2023 · 1 comment

Comments

@huangsijun17
Copy link

问题

image
如图所示,已经播放到1:59,超出最后一句文字歌词,但存在结尾处的背景音乐。此时依然显示着最后一句文本歌词,而非正在播放音乐的🎵🎵🎵。

希望的现象

在播放结尾处的背景音乐时显示🎵🎵🎵。

复现方法

制作一lrc文件,最后一段未背景音乐。播放到背景音乐处,会显示最后一句文本歌词,而非🎵🎵🎵。

修复方法

正确解析末尾背景音乐时的歌词。

环境

软件版本:MusicPlayer2, 2.76版 (x64) (PS,能不能支持从【关于】里直接复制版本信息?)
操作系统:Windows 11 专业版 22H2 22621.1555

@lrisora
Copy link
Contributor

lrisora commented Aug 23, 2023

我撤销了这个更改,单行歌词和双行歌词的代码是一份,这样改的话双行显示时会把最后一句重复两次
这里是我决定做成这样的不算bug,虽然是有一点奇怪

我觉得“不显示空白行”这个功能控制空白行的显示,那么使所有歌词不论空行如何都表现一致是更重要的
因为标准lrc歌词的最后如果没有空白行(歌词中有很多这样的)那么最后一句歌词就没有结束时间,
如果坚持要在结尾只有音乐时显示Music...那么有可能无法得知何时这样做
目前对于没有结束时间时的进度处理方式是默认20s,但20s总归是猜的我觉得还是保持显示比较好

另外以前有人反馈过双行歌词结束时显示两个Music...,我也认为这样不好,
这里一行显示最后一行歌词一行Music...的方式感觉观感比两个Music...好

设计这里的时候我主要想的是让歌词能够一看就知道播放到哪里了以及接下来会发生什么,显示两个Music...做不到
一行没有进度流动的歌词一看就知道是结束了

最重要的就是这个让最后一个歌词超时后仍然显示空白和“不显示空白行”同时在代码上实现有些复杂,
感觉GetLyric方法会变得很重,有些不值得
(最后一个有文字的歌词本身也是有处理的,其之前也可能是超过3s的空白需要加进度符号,叠加超时后仍然显示空白比较复杂,也是我做“不显示空白行”选项时没有在最后显示空白的原因)

如果只是需要“按lrc文件原样”显示的歌词可以关掉“不显示空白行”选项关闭去掉空行的处理使最后的空白行正常显示

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants