feat: 新增流媒体支持#753
Merged
Merged
Conversation
Member
Author
|
/gemini summary |
Contributor
Summary of Changes此拉取请求为应用程序带来了流媒体服务的全面集成,使用户能够连接到他们的个人媒体服务器,如 Jellyfin 和 Navidrome。通过此功能,用户可以直接在播放器中浏览、播放其音乐库(包括歌曲、艺术家、专辑和歌单)。本次更新包括用于管理流媒体服务器的新用户界面、与 Jellyfin 和 Subsonic 兼容服务器交互的 API 客户端,以及为处理流媒体音频和歌词而修改的核心播放器逻辑。 Highlights
Changelog
Activity
|
Member
Author
|
/gemini review |
Contributor
There was a problem hiding this comment.
Code Review
这个 Pull Request 成功地为播放器引入了对 Jellyfin 和 Navidrome 流媒体服务的支持,这是一个很棒的新功能。代码实现非常全面,包括了新的 API 客户端、专门的 Vue 组件和 Store 来管理流媒体状态,以及对播放器核心逻辑的相应调整。
代码结构清晰,特别是 streaming.ts 这个 Store 的设计,很好地封装了与流媒体服务交互的复杂逻辑。同时,对 PlayerController 中错误处理的重构,以及 LyricManager 对不同来源歌词的处理,都显著提升了代码的健壮性和可维护性。
我发现一个潜在的关键问题,在 CoverList.vue 中,将流媒体的字符串 ID 强制转换为数字,这可能会在播放流媒体歌单时引发错误。建议将相关的 ID 类型统一为 number | string 以确保类型安全。
总体而言,这是一次高质量的提交,功能实现完整,代码质量很高。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
支持 Jellyfin / Navidrome 流媒体服务