Skip to content

feat: Apple Music 布局音质标签支持切换音质 - #468

Open
GLZ-gaoxiaoling wants to merge 2 commits into
SPlayer-Dev:devfrom
GLZ-gaoxiaoling:feat/player-quality-select
Open

GLZ-gaoxiaoling wants to merge 2 commits into
SPlayer-Dev:devfrom
GLZ-gaoxiaoling:feat/player-quality-select

Conversation

@GLZ-gaoxiaoling

Copy link
Copy Markdown
Contributor

改动类型

  • 新功能(feat)
  • 缺陷修复(fix)
  • 重构 / 优化(不改变对外行为)
  • 文档(docs)
  • 其他(请在「改动说明」中注明)

是否包含破坏性变更

  • 是(请在「改动说明」中详细描述)
  • 否

改动说明

Apple Music 风格布局(apple)没有播放工具栏,因此既无法通过 appearance.showQualitySwitch 显示已有的 QualityControl,音质标签也同时是该布局打开「输出信息」的唯一入口。本 PR 让进度条下方的音质标签承担这两件事:

  • 点击标签弹出音质选择浮层,提供标准 / 较高 / 极高 / 无损 / 高解析度无损五档;选中后写入 settings.player.songLevel 并调用 player.reloadCurrentTrack() 从当前进度续播,与现有 QualityControl.vue 行为一致。
  • 浮层底部保留原有的「输出信息」入口,避免丢失音频信息弹窗入口。
  • 本地 / 云盘 / 流媒体等不支持在线音质的歌曲沿用既有 canSwitchQuality 判定,仅显示提示与输出信息入口,不展示档位。
  • 切歌过渡动画期间自动收起浮层,不与标签的渐变文案重叠。

视觉上标签本体保持原有 rounded-[4px] + bg-cover/15 胶囊和 IconSpLossless 无损图标,未新增任何常驻按钮或图标,仅在悬停 / 展开时把底色提亮到 bg-cover/25。浮层复用 SPopover 的 cover 玻璃拟态配方,标题、档位行、勾选标记沿用 QualityControl.vue / SPopselect.vue 的既有规格;文案全部复用已有 i18n key,未新增语言条目。改动仅涉及一个组件文件。

关联 Issue

无

测试情况

  • pnpm typecheck(tsc + vue-tsc 双目标)通过
  • pnpm lint(全仓库 ESLint)通过
  • pnpm prettier --check . 通过
  • electron-vite build 构建通过,确认 SFC 编译与自动导入组件解析正常
  • 已逐行审阅改动:档位写入与续播调用、canSwitchQuality 判定、菜单关闭时机、原有音频信息入口均核对过
  • 未启动 Electron 实机截图:该布局需完整原生音频模块与账号登录态才能呈现播放画面;视觉一致性通过复用项目既有组件与样式规格保证

自查清单

  • 本 PR 只包含一个主要功能 / 修复,没有夹带无关改动
  • 已在本地完成静态校验、构建验证并逐行审阅;AI 生成的代码同样自行测试并审阅过,未做未经验证的提交
  • 已运行 pnpm format,并确认 pnpm typecheck、pnpm lint 通过
  • 改动涉及原生模块时已 pnpm build:native 验证;未手写 native/*/index.d.ts(本次不涉及原生模块)
  • 已向 dev 分支提交

zhr166 pushed a commit to zhr166/SPlayer-Next that referenced this pull request Nov 12, 2026

This branch has not been deployed

No deployments
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

Successfully merging this pull request may close these issues.

1 participant