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

news2025/5/23 9:07:50

🎵 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_token
      const 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.coloradmin.cn/o/2383775.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

labview设计一个虚拟信号发生器

目标:设计一个虚拟信号发生器,通过功能键的设置可以产生正弦波、三角波、方波和锯齿波,并可以通过输入控件设置采集信号的频率、幅值、相位等参数。 一、正弦波 (1)创建一个枚举 (2)点击属性后…

工业路由器WiFi6+5G的作用与使用指南,和普通路由器对比

工业路由器的技术优势 在现代工业环境中,网络连接的可靠性与效率直接影响生产效率和数据处理能力。WiFi 6(即802.11ax)和5G技术的结合,为工业路由器注入了强大的性能,使其成为智能制造、物联网和边缘计算的理想选择。…

编译Qt5.15.16并启用pdf模块

编译Qt5.15.16并启用pdf模块 标题1.目录设置 -q-bulid –qt-everywhere-src-5.15.16 –bulid cd bulid 必须,否则会提示Project ERROR: You cannot configure qt separately within a top-level build. create .qmake.stash and .qmake.super in build folder …

Python绘制新冠疫情的知识图谱

from pyvis.network import Network import networkx as nx import pandas as pd import os# 修复模板路径 from pyvis import network as net_moduleos.environ["PATH"] os.pathsep os.path.dirname(net_module.__file__)# 创建紧密连接图 g nx.Graph()# 关键修…

使用RUST在Arduino上进行编程(MacOS,mega板)

近年来,RUST成为了嵌入式编程的热门语言,本文通过实现(1)LED闪灯,以及(2)在console(终端)实现“Hello Rust World”两项功能来完成实操的入门。 深入学习可以参考RUST语言…

大模型微调与高效训练

随着预训练大模型(如BERT、GPT、ViT、LLaMA、CLIP等)的崛起,人工智能进入了一个新的范式:预训练-微调(Pre-train, Fine-tune)。这些大模型在海量数据上学习到了通用的、强大的表示能力和世界知识。然而,要将这些通用模型应用于特定的下游任务或领域,通常还需要进行微调…

OpenCv高阶(十六)——Fisherface人脸识别

文章目录 前言一、Fisherface人脸识别原理1. 核心思想:LDA与Fisher准则2. 实现步骤(1) 数据预处理(2) 计算类内散布矩阵 SW对每个类别(每个人)计算均值向量 μi:(3) 计算类间散布矩阵 SB(4) 求解投影矩阵 W(5) 降维与分类 3. Fish…

二分算法的补充说明

在上一节中我们简单介绍了二分算法,通过区分小于等于,大于或者小于,大于等于我们可以求出它们的边界值。 具体方法是先看一下要求哪里的边界值,分成两部分让如果求小于等于的右边界,我们根据条件让rightmid-1,leftmid…

java基础(api)

包: 导包,不同包的程序名相同。 但是要用两个的话可以这样子写: String String概述 String的常用方法 String使用时的注意事项 String的应用案例

VSCode推出开源Github Copilot:AI编程新纪元

文章目录 开源决策的背后GitHub Copilot的演进历程Copilot Chat核心功能解析1. 聊天界面集成2. 代码理解与生成3. 多文件编辑能力4. 智能代理模式 开源后的影响与展望对开发者的影响对AI编程工具市场的影响未来发展方向 如何开始使用GitHub Copilot结语相关学习资源 在AI编程助…

Mujoco 学习系列(四)官方模型仓库 mujoco_menagerie

mujoco 官方在 Github 上发布了一个他们自己整理的高质量的模型仓库,这个仓库是一个持续维护的项目,里面包含了目前市面上常见的人形机器人、机械臂、底盘等模型,对于初学者而言是一个非常好的学习资料,无论是想在仿真环境中尝试还…

代码走读 Go 语言 Map 的实现

序言 在日常的开发当中,我们一定离不开一个数据结构字典。不仅可以存储关联数据对,还可以在 O(1) 的时间复杂度进行查找。很久之前在 一篇文章带你实现 哈希表 介绍了相关的原理以及简单的实现。所以这篇文章中我们就不多赘述哈希表的原理,而…

PostgreSQL14 +patroni+etcd+haproxy+keepalived 集群部署指南

使用postgresql etcd patroni haproxy keepalived可以实现PG的高可用集群,其中,以postgresql做数据库,Patroni监控本地的PostgreSQL状态,并将本地PostgreSQL信息/状态写入etcd来存储集群状态,所以,patr…

数据结构知识点汇总

1、在数据结构中,随机访问是指能够直接访问任一元素,而不需要从特定的起始位置开始,也不需要按顺序访问其他元素。这种访问方式通常不涉及遍历。例如,数组(array)支持随机访问,你可以直接通过索…

基于YOLO11深度学习的变压器漏油检测系统【Python源码+Pyqt5界面+数据集+安装使用教程+训练代码】【附下载链接】

文章目录 引言软件主界面源码目录文件说明一、环境安装(1)安装python(2)安装软件所需的依赖库 二、软件核心功能介绍及效果演示(1)软件核心功能(2)软件效果演示 三、模型的训练、评估与推理(1)数据集准备与训练(2)训练结果评估(3)使用训练好的模型识别 四、完整相关文件及源码下…

Python 包管理工具核心指令uvx解析

uvx 是 Python 包管理工具 uv 的重要组成部分,主要用于在隔离环境中快速运行 Python 命令行工具或脚本,无需永久安装工具包。以下是其核心功能和使用场景的详细解析: 一、uvx 的定位与核心功能 工具执行器的角色 uvx 是 uv tool run 的别名&a…

苍穹外卖05 Redis常用命令在Java中操作Redis_Spring Data Redis使用方式店铺营业状态设置

2-8 Redis常用命令 02 02-Redis入门 ctrlc :快捷结束进程 配置密码: 以后再启动客户端的时候就需要进行密码的配置了。使用-a 在图形化界面中创建链接: 启动成功了。 03 03-Redis常用数据类型 04 04-Redis常用命令_字符串操作命令 05 05-Redis常用命令…

AI工程师系列——面向copilot编程

前言 ​ 笔者已经使用copilot协助开发有一段时间了,但一直没有总结一个协助代码开发的案例,特别是怎么问copilot,按照什么顺序问,哪些方面可以高效的生成需要的代码,这一次,笔者以IP解析需求为例,沉淀一个实践案例,供大家参考 当然,其实也不局限于copilot本身,类似…

【竖排繁体识别】如何将竖排繁体图片文字识别转横排繁体,转横排简体导出文本文档,基于WPF和腾讯OCR的实现方案

一、应用场景 在古籍数字化、繁体文档处理、两岸三地文化交流等场景中,经常需要将竖排繁体文字转换为横排文字。例如: 古籍研究人员需要将竖排繁体文献转换为现代横排简体格式以便编辑和研究出版行业需要将繁体竖排排版转换为简体横排格式两岸三地交流中需要将繁体竖排文档转…

NFS服务器实验

实验要求 架设一台NFS服务器,并按照以下要求配置 1、开放/nfs/shared目录,供所有用户查询资料 2、开放/nfs/upload目录,为192.168.xxx.0/24网段主机可以上传目录,并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210 3…