一个基于 Electron + React + TypeScript 的跨平台本地音乐播放器。
无需登录,完全本地运行,保护您的隐私。
- 🎵 本地音乐库管理 - 添加文件夹,自动扫描音频文件
- 🎨 元数据解析 - 自动读取歌曲标题、艺术家、专辑、封面等信息
- 🎧 完整播放控制 - 播放、暂停、上一曲、下一曲、进度控制、音量调节
- 📝 歌词显示 - 支持 LRC 格式歌词,自动同步滚动高亮当前歌词
- 📋 播放列表 - 创建、编辑、删除自定义播放列表
- 📝 播放队列 - 灵活管理即将播放的歌曲
- 🔀 多种播放模式 - 顺序播放、随机播放、单曲循环、列表循环
- 🔍 搜索与筛选 - 快速搜索歌曲、专辑、艺术家
- 🌓 主题切换 - 支持亮色/暗色主题
- ⌨️ 键盘快捷键 - 高效操作
- 💾 数据持久化 - 自动保存播放状态和设置
- 🚀 高性能 - 虚拟化列表,流畅处理大型音乐库
MP3, FLAC, WAV, AAC, OGG, M4A, WMA, AIFF, ALAC, OPUS
- Windows: Windows 10 或更高版本
- macOS: macOS 10.15 (Catalina) 或更高版本
- Linux: Ubuntu 18.04 或其他主流发行版
- 前往 Releases 页面
- 下载适合您操作系统的安装包:
- Windows:
OrangeMusic-Setup-x.x.x.exe - macOS:
OrangeMusic-x.x.x.dmg - Linux:
OrangeMusic-x.x.x.AppImage
- Windows:
- 运行安装程序
# 克隆仓库
git clone https://github.com/your-repo/orange-music.git
cd orange-music
# 安装依赖
npm install
# 开发模式运行
npm run dev
# 构建生产版本
npm run build
# 打包安装程序
npm run build:win # Windows
npm run build:mac # macOS
npm run build:linux # Linux- 点击侧边栏的 "添加文件夹" 按钮,或使用快捷键
Ctrl+O(Windows/Linux) /Cmd+O(macOS) - 选择包含音乐文件的文件夹
- 等待扫描完成,您的音乐将自动出现在库中
- 双击 歌曲立即播放
- 右键 歌曲查看更多选项(添加到播放列表、添加到队列等)
- 点击侧边栏的 "新建播放列表" 按钮,或使用快捷键
Ctrl+N/Cmd+N - 输入播放列表名称
- 将歌曲拖拽到播放列表,或右键选择 "添加到播放列表"
| 快捷键 | 功能 |
|---|---|
Space |
播放/暂停 |
← |
后退 5 秒 |
→ |
前进 5 秒 |
↑ |
增加音量 |
↓ |
降低音量 |
Ctrl/Cmd + F |
聚焦搜索框 |
Ctrl/Cmd + N |
新建播放列表 |
Ctrl/Cmd + O |
添加文件夹 |
应用采用现代化设计,包含:
- 侧边栏 - 导航菜单,包括音乐库、播放列表、专辑、艺术家视图
- 主内容区 - 显示歌曲列表、专辑网格或艺术家列表
- 播放控制栏 - 底部固定,显示当前播放信息和控制按钮
- 播放队列面板 - 可展开的侧边面板,管理播放队列
- 歌词面板 - 显示同步滚动的歌词,自动高亮当前播放行
- 框架: Electron + Vite + React 19 + TypeScript
- UI: Tailwind CSS 4 + shadcn/ui
- 状态管理: Zustand
- 音频引擎: Howler.js
- 元数据解析: music-metadata
- 列表虚拟化: react-virtuoso
- 数据持久化: electron-store
- 测试: Vitest + fast-check
欢迎贡献代码!请查看 开发者文档 了解如何参与开发。
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 创建 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。