mirror of
https://github.com/imsyy/SPlayer.git
synced 2026-04-25 06:55:57 +03:00
[GH-ISSUE #732] 使用API获取歌曲信息时歌词信息可能偏差 #347
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @neokoni on GitHub (Jan 10, 2026).
Original GitHub issue: https://github.com/imsyy/SPlayer/issues/732
检查清单
是网页端还是客户端
客户端
当前系统环境
ArchLinux
当前 Node.js 及 npm 版本
No response
当前版本
3.0.0-beta9 Actions构建5854f44
具体信息
新加入的API(song-info)获取播放信息时, 如果客户端歌曲信息未完成加载, API可能会返回错误的信息
如果在这个阶段调用API, 会有信息的一些错误
比如以下情况:
歌曲信息没啥问题, 主要是歌词这一阶段会出错, 且没有标识可以进一步确认
复现的话, 没有缓存的歌曲更容易发现
示例, 第一张图右边为正常
希望可以加入一个标识判断是否为已加载完的状态, 或者其他可以用于验证的标识
@github-actions[bot] commented on GitHub (Jan 10, 2026):
👋 您好 @neokoni,感谢提交 Issue!
🚀 我们已经收到您的反馈,会尽快确认你的问题
在等待回复期间,您可以:
@MoYingJi commented on GitHub (Jan 10, 2026):
如果需要实时获取,建议使用 WebSocket API
@neokoni commented on GitHub (Jan 10, 2026):
并非换成websocket就好了, ws和api发送时给的getTrackInfoFromRenderer(), 理论上也会出现
并非理论, 其实也能复现, 比如这个,
c.json
使用{"type":"get-song-info"}时获取的信息中, 歌曲是Shape of you, 但是歌词是上一首的Play Data的歌词
而且并非是需要实时获取, 主要是要拿一下歌词信息
@MoYingJi commented on GitHub (Jan 10, 2026):
我的意思是,歌词的获取是异步的,所以需要等待
lyric-change事件,不是主动去发我以为你是要实时获取(比如原生桌面歌词),才跟你说的 WS API,这样只需要等待
lyric-change就好了不过这个也可以有,毕竟要单次获取的时候有用🤔
@github-actions[bot] commented on GitHub (Jan 12, 2026):
🤝 您好 @neokoni,感谢您的反馈!我们已经确认该问题,并将在下一个版本中修复
@imsyy commented on GitHub (Jan 12, 2026):
已加入
歌词是否已加载标识@github-actions[bot] commented on GitHub (Jan 12, 2026):
🎉 您好 @neokoni,该问题已修复,感谢您的反馈!
若您觉得仍存在问题,请重新开启或者创建新的 Issue,我们会尽快确认并修复