Skip to content

新增:本地音乐扫描导入功能#1074

Open
Markjinli wants to merge 3 commits into
lyswhut:devfrom
Markjinli:feature/local-music
Open

新增:本地音乐扫描导入功能#1074
Markjinli wants to merge 3 commits into
lyswhut:devfrom
Markjinli:feature/local-music

Conversation

@Markjinli
Copy link
Copy Markdown

概述

在设置中添加「本地音乐」功能,允许用户选择设备上的本地文件夹,扫描其中的音频文件,并自动在「我的列表」中创建"本地音乐"列表。

变更内容

  • 新增 src/core/localMusic.ts — 核心扫描逻辑:文件夹扫描、音频元数据读取、列表创建
  • 新增 src/screens/Home/Views/Setting/settings/LocalMusic/index.tsx — 设置页 UI:文件夹选择、扫描进度、状态提示
  • 修改 src/config/defaultSetting.ts — 添加 localMusic.folderPathlocalMusic.listId 配置项
  • 修改 src/types/app_setting.d.ts — 添加对应的类型定义
  • 修改 src/screens/Home/Views/Setting/Main.tsxVertical/Main.tsx — 注册 LocalMusic 设置页
  • 修改 src/lang/zh-cn.jsonen-us.jsonzh-tw.json — 添加多语言字符串

设计原则

  • 低侵入性:大部分为新增文件,对现有代码改动最小
  • 使用 Android SAF (Storage Access Framework) 进行文件夹选择
  • 支持进度回调的异步扫描,避免阻塞 UI
  • 扫描到的音频自动创建为"本地音乐"歌单

测试验证

已在真机 Android 设备上验证:

  • 文件夹选择功能正常
  • 音频文件扫描和元数据读取正常
  • 自动创建"本地音乐"列表正常
  • 覆盖扫描(重复扫描)正常更新列表内容

🤖 Generated with Claude Code

markjinli and others added 3 commits May 25, 2026 00:07
- 新增 src/core/localMusic.ts:扫描核心逻辑
- 新增 settings/LocalMusic/:设置页 UI(文件夹选择、扫描按钮、进度条)
- 默认配置、类型定义、设置导航、多语言文本同步更新
- 低侵入性设计,绝大部分为新增代码,便于后续跟随上游更新

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
将 "本地音乐" 改为「本地音乐」避免 Metro/Hermes 解析错误

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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