Skip to content
forked from CallmeLins/BaYin

八音 (BaYin) - 轻量音乐播放器,支持本地曲库播放,对接云端音乐资源

License

Notifications You must be signed in to change notification settings

thomas-jack/BaYin

 
 

Repository files navigation

logo

八音 (BaYin)

一款基于 Tauri + React 的跨平台音乐播放器,采用 macOS 风格设计

发行版 | 问题反馈


Stars Version License Issues

main

技术栈

  • 桌面框架: Tauri 2 (Rust)
  • 前端框架: React 18 + TypeScript
  • 构建工具: Vite
  • UI 组件: Radix UI + Tailwind CSS 4
  • 动画: Framer Motion
  • 状态管理: React Context
  • 路由: React Router

功能特性

  • 🎵 支持多种音频格式 (MP3, FLAC, WAV, AAC, M4A, OGG, WMA, APE, AIFF, DSF, DFF)
  • 📝 播放队列管理(添加、移除、清空)
  • 🔄 多种播放模式(顺序、随机、单曲循环)
  • 🔊 音量控制与静音
  • 📂 本地文件夹扫描
  • 💿 歌曲、专辑、艺术家分类浏览
  • 🏷️ 音质标签显示 (HR: Hi-Res, SQ: 无��)
  • 📋 歌单创建与管理
  • 🌐 流媒体服务器集成(Navidrome、Jellyfin、Emby、Subsonic、OpenSubsonic)
  • 🎤 LRC 歌词解析与同步滚动
  • 🌙 深色/浅色主题切换
  • 📱 响应式布局(支持桌面和移动端)
  • ✨ macOS 风格毛玻璃效果

界面展示

桌面端 - 浅色主题

桌面端浅色

桌面端 - 深色主题

桌面端深色

桌面端 - 播放页面

播放页面

移动端

移动端

获取

二进制安装

可以在 Releases 中获取最新版本

本地开发

前置要求

安装依赖

# 克隆仓库(包含子模块)
git clone --recursive https://github.com/CallmeLins/BaYin.git

# 或者克隆后初始化子模块
git submodule update --init --recursive

# 安装前端依赖
cd src-ui
npm install
cd ..

运行开发环境

npx tauri dev

构建生产版本

npx tauri build

项目结构

BaYin/
├── src-tauri/          # Tauri 后端 (Rust)
│   ├── src/
│   │   ├── commands/   # Tauri 命令
│   │   ├── models/     # 数据模型
│   │   ├── utils/      # 工具函数
│   │   └── lib.rs      # 主入口
│   ├── capabilities/   # 权限配置
│   ├── icons/          # 应用图标
│   ├── Cargo.toml
│   └── tauri.conf.json
│
├── src-ui/             # 前端子仓库 (React)
│   ├── src/
│   │   ├── components/ # UI 组件
│   │   ├── context/    # 状态管理
│   │   ├── services/   # Tauri 服务层
│   │   ├── hooks/      # 自定义 Hooks
│   │   └── routes.ts   # 路由配置
│   ├── package.json
│   └── vite.config.ts
│
└── README.md

支持项目

如果觉得本项目对你有帮助,欢迎 Star 支持!

支付宝 微信支付

许可证

本项目基于 Apache License 2.0 许可进行开源

Star History

Star History Chart

About

八音 (BaYin) - 轻量音乐播放器,支持本地曲库播放,对接云端音乐资源

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 88.3%
  • Kotlin 11.0%
  • Other 0.7%