codeloversky / i-music-player

A music player based on NeteaseMusic

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

I-MUSIC-PLAYER

仿网易云音乐Mac风格的音乐播放器

rust  Typescript  tauri  vite  !react

📦️ 下载安装包

✨ 特性

  • Tauri 跨端开发,Windows、Mac、Linux 通用
  • 安装包体积极小,应用体积极小、运行内存占用极低(自身内存消耗仅 10M 不到)
  • 网易云账号登录(目前仅支持扫码登录)
  • 核心播放功能完整,登录后支持查看已创建歌单、已收藏歌单、显示歌词
  • 支持播放列表与播放状态持久化
  • 个人服务器友情提供部分(Jay Zhou)精选歌曲
  • 2023/12/2:更新v0.0.3版本,布局、样式、构建全面优化,并且播放歌曲时优先获取HiRes音质歌曲链接
  • 2023/12/4:更新v0.0.4版本,解决长时间播放卡死问题

setup_size

app_size

app_memory

☑️ Todo

  • 作为 Rust+React 练习项目,除了首页展示、歌单详情查询与核心播放功能之外,其他功能有待开发 😅️
  • 欢迎提 Issue 和 Pull request

💻 配置开发环境

本项目由 NeteaseCloudMusicApi 提供 API 路径和加密算法。

❤️ 安装 Rust

请先按照Tauri 安装指南配置 Rust 环境

要检查您是否正确安装了 Rust,请打开终端并运行如下命令:

rustc --version

您应该能看到以下列格式呈现的版本号、提交哈希及提交日期:

rustc x.y.z (abcabcabc yyyy-mm-dd)

🔥 推荐 IDE 与扩展

使用以下 IDE 和扩展,会有最佳的开发体验

👷‍♂️ 运行项目

  • 进入项目后,等待 VsCode 下方的 rust-analyzer 插件自动拉取 rust 依赖并输出产物到 src-tauri/target 目录下,直到 rust-analyzer 左侧的 loading 图标消失

rust-analyzer

tips:国内 rust 依赖拉取较慢,建议配置 rsproxy 代理

  • 安装 frontend 依赖
pnpm install

tauri-plugin-sql-api 依赖是从 github 的 https 路径拉取,注意网络配置

  • 启动本地 App
pnpm local:dev

第一次启动会很慢,请耐心等待。

Windows 环境可能会抛出两个异常

  1. openssl not found:需要 windows 环境安装 openssl。亲测选择最低版本 v1.1.1w 安装即可
  2. perl not found:需要 windows 环境安装 perl

Mac 环境暂时未发现安装异常

注意:不要使用 pnpm dev 启动项目!应用需要由 tauri 来引导启动

👷‍♂️ 打包项目

打包项目,有几个国外依赖(nsis、wix)很难拉取,建议按照网上的教程下载到本地再打包

pnpm local:build

安装包位置在 src-tauri/target/release/bundle/

⚙️ 部署项目

release.yml 文件提供 github 的 actions 一键部署

git tag v0.0.1
git push --tags

📜 许可证

MIT © 2023 mi-saka10032

灵感来源

核心框架建设来自 https://github.com/TThz-hz/NeteaseCloudMusic

rustAPI 来自

截图

mac_home


mac_detail


windows_home


window_lyric

About

A music player based on NeteaseMusic

License:MIT License


Languages

Language:TypeScript 57.6%Language:Rust 38.7%Language:CSS 1.9%Language:Less 1.4%Language:JavaScript 0.2%Language:HTML 0.1%