当前位置: 首页 > backend >正文

【开源】一个基于 Vue3 和 Electron 开发的第三方网易云音乐客户端,具有与官方客户端相似的界面布局

🎵 XCMusic:高颜值第三方网易云音乐客户端 🎶

在这里插入图片描述

📍 项目亮点

XCMusic 是一款基于Vue3+Electron开发的开源、跨平台网易云音乐客户端。
此音乐播放器基于 Electron 开发,旨在为用户提供简洁、美观、兼容多平台的音乐体验。项目代码易于扩展和定制,支持多种音乐格式播放,界面简洁流畅。
兼容Windows、macOS 和 Linux的音乐播放器。它不仅支持常见的音乐格式,还提供歌词显示、播放辅助、主题切换等功能。

其特色功能包括:

▌ 核心优势:
✔️ 原生歌词特效:支持卡拉OK式逐字滚动
✔️ 无损音质解析:突破客户端音质限制
✔️ 主题自定义:CSS样式深度定制

▌ 主要功能:

  • 🎵 多格式支持:MP3、FLAC、WAV、AAC等主流音频格式
  • 📱 跨平台能力:iOS、Android、Windows、macOS全平台覆盖
  • 🔄 播放控制:播放/暂停、上一曲/下一曲、进度调节
  • 🎚️ 音频处理:均衡器、音量调节、音效增强
  • 📊 元数据管理:ID3标签读取与编辑

2.2 技术架构

音频解码
播放引擎
UI界面
平台适配层
iOS/Android/PC

🎧 功能全景

功能模块技术特性应用场景
🎹 频谱可视化WebGL实时渲染 & 主题联动音乐播放可视化
📻 私人FM智能推荐算法 & 红心收藏个性化音乐推荐
🎨 主题工坊CSS变量注入 & 热重载界面个性化定制
🔄 多端同步WebDAV协议 & 增量同步歌单跨设备同步

🚀 快速安装

以下操作均基于Node.js,如果没有安装,请先安装Node.js,建议使用nodejs 20及以上版本。

可以使用electron或者tauri作为项目后端,由于tauri后端并未完全适配,更建议使用electron后端。

安装依赖

npm install

使用electron

运行Electron程序

npm run electron:serve

打包为二进制程序

npm run electron:build

如果在mac上因为找不到python出错,请在安装python后执行

node ./scripts/mac_build.js

使用tauri

  1. 打包网易云音乐api程序:

    1. 下载本仓库克隆仓库:yiktllw/NeteaseCloudMusicApi
    2. NeteaseCloudMusicApi目录下,安装依赖:
    npm install
    
    1. NeteaseCloudMusicApi目录下,修改app.jsstart函数为:
    async function start() {// 检测是否存在 anonymous_token 文件,没有则生成if (!fs.existsSync(path.resolve(tmpPath, "anonymous_token"))) {fs.writeFileSync(path.resolve(tmpPath, "anonymous_token"), "", "utf-8");}// 启动时更新anonymous_tokenconst generateConfig = require("./generateConfig");await generateConfig();require("./server").serveNcmApi({checkVersion: false,port: 43210,});
    }
    
    1. NeteaseCloudMusicApi目录下,根据平台运行命令:

    win平台

    npm run pkgwin
    

    linux平台

    npm run pkglinux
    

    macos平台

    npm run pkgmacos
    
    1. NeteaseCloudMusicApi/bin目录下,找到打包的程序,并将其复制到XCMusic/src-tauri/resources/api目录下。
  2. 安装Rust开发环境

  3. 运行tauri程序:

npm run tauri:serve
  1. 打包为二进制程序:
npm run tauri:build
# Windows 用户
choco install xcmusic# macOS 用户
brew install --cask xcmusic# Linux 用户
sudo apt-get install xcmusic

🔧 高级配置

1. 主题自定义

/* 自定义主题示例 */
:root {--primary-color: #2196F3;--background-image: url('https://example.com/bg.jpg');
}

TIP: 配置文件路径:~/.config/xcmusic/custom.css

2. 主要快捷键

组合键功能描述
Ctrl+Shift+L开启/关闭歌词面板
Alt+←/→上一曲/下一曲

5、每日资源 在这里

💯 👉【我的更新汇总】

👉项目下载

关注我的CSDN博客

更多资源可以查看我的CSDN博客

http://www.xdnf.cn/news/7641.html

相关文章:

  • pom.xml中的runtime
  • 关于汇编语言与接口技术——单片机串行口的学习心得
  • thread 的mutex优化
  • 基于FFT变换的雷达信号检测和参数估计matlab性能仿真
  • 每日两道leetcode(今天开始刷基础题模块——这次是之前的修改版)
  • ES 调优帖:关于索引合并参数 index.merge.policy.deletePctAllowed 的取值优化
  • 数字展厅是什么?怎样实现数字展厅的落地?
  • matlab编写的BM3D图像去噪方法
  • SpringBoot-4-Spring Boot项目配置文件和日志配置
  • 电子制造企业智能制造升级:MES系统应用深度解析
  • centos7安装mysql8.0
  • Android trace presentFence屏幕显示的帧
  • sgRNA的靶基因基因组如何获得? for 下游的 T7E1验证
  • 不同的二叉搜索树 II:动态规划与递归构造
  • JavaScript作用域和作用域链
  • web开发全过程总结
  • 创建一个使用 GPT-4o 和 SERP 数据的 RAG 聊天机器人
  • deepseek梳理java高级开发工程师es面试题
  • 1.3 C++之变量与数据类型
  • Vue百日学习计划Day43-45天详细计划-Gemini版
  • Jenkins+Docker+Harbor快速部署Spring Boot项目详解
  • sv数据格式转换
  • 【氮化镓】低剂量率对GaN HEMT栅极漏电的影响
  • 2025年第十一届传感器、机电一体化和自动化系统国际学术研讨会(ISSMAS 2025)
  • 景区卡机数据报表-跨服务查看数据教程——诸天万界相连—仙盟创梦IDE
  • docker容器知识
  • 宿州金博学校开展防震演练:夯实安全根基,守护校园平安
  • java redis set 集合操作中 如何有效移除自定义对象
  • 深信服golang面经
  • 【Python 算法零基础 4.排序 ③ 插入排序】