XMusic 开源跨平台音乐播放器

基于 SOUI4 + SDL3 + SDL_mixer3 打造,支持 Windows/Linux/macOS
独创 .rc 资源编译技术实现真正的绿色单文件发布

✅ 开源免费 ✅ 跨平台 ✅ 单文件 ✅ 免安装
XMusic 截图

核心特性

为什么选择 XMusic?

🌍

真正跨平台

完美支持 Windows、Linux、macOS,一套代码多端运行

📦

单文件发布

独创 .rc 资源编译技术,Linux 平台也能实现单文件绿色版

🏷️

标签编辑

强大的音频元数据编辑功能,支持 ID3v1/v2、FLAC 等格式

🔄

批量转换

支持多种格式批量转换为 MP3,内置高质量重采样算法

🎨

SVG 矢量图形

基于 SOUI4 的 SVG 渲染引擎,界面清晰锐利

高性能音频

SDL3 + SDL_mixer3 + libsamplerate 提供专业级音频处理能力

🚀 独创单文件发布技术 Linux 平台的突破

XMusic 基于 SOUI4 框架的 .rc 资源编译及解析技术,实现了真正的跨平台单文件发布。 这在 Linux 平台上是一个重大突破!

技术原理

  • Windows: 传统 .rc 资源文件编译,所有 UI 资源嵌入 PE 文件
  • Linux/macOS: 使用 MinGW64 工具链(windres/objcopy)将资源段嵌入 ELF/Mach-O 可执行文件
  • 运行时: swinx 模块自动从二进制文件的资源段加载 UI,无需外部 uires/ 文件夹

优势

单个可执行文件(约 15-25 MB),易于分发
无需安装,解压即用,真正的绿色软件
无外部依赖,所有资源内置
跨平台一致的用户体验

传统方式

📁 XMusic/
├─ XMusic.exe
├─ uires/
│ ├─ xml/
│ ├─ image/
│ └─ svg/
├─ dll/
└─ config.ini

❌ 多个文件,易丢失

➡️

XMusic 方式

📄 XMusic

✅ 单个文件,简洁优雅

功能详解

🏷️ 强大的标签编辑器

XMusic 集成了专业的音频元数据编辑功能,基于 TagLib 库实现,支持多种标签格式:

  • ✅ ID3v1 / ID3v2.3 / ID3v2.4 标签读写
  • ✅ FLAC 元数据(Vorbis Comment)完整支持
  • ✅ Vorbis Comment(OGG/OPUS)
  • ✅ MP4/iTunes 元数据(M4A/AAC)
  • ✅ 封面图片嵌入与提取
  • ✅ 批量标签编辑
  • ✅ 实时预览修改效果
标签编辑器界面

🔄 批量 MP3 转换器

内置高性能音频转码引擎,支持多种格式批量转换为 MP3:

  • ✅ 支持 WAV / FLAC / OGG / M4A / AAC 等输入格式
  • ✅ 基于 LAME 编码器,音质优秀
  • ✅ 集成 libsamplerate 高质量重采样(SINC 插值)
  • ✅ 自动处理不支持的采样率(如 96kHz → 48kHz)
  • ✅ 可变比特率(VBR)和固定比特率(CBR)可选
  • ✅ 多线程并行处理,转换速度快
  • ✅ 进度显示与取消支持
  • ✅ 保留原始元数据标签
技术亮点:使用 libsamplerate 的 SINC 插值算法进行重采样, 相比线性插值提供更好的信噪比和音频质量,特别适合高保真音频处理。
批量转换器界面

🎵 专业音频播放

基于 SDL3 + SDL_mixer3 构建的高性能音频播放引擎:

  • ✅ 支持 MP3 / WAV / FLAC / OGG / M4A 等主流格式
  • ✅ 硬件加速音频输出
  • ✅ 精确的播放控制(播放/暂停/停止/跳转)
  • ✅ 音量调节与静音控制
  • ✅ 播放列表管理
  • ✅ 歌词同步显示
  • ✅ 频谱可视化(FFT 分析)
  • ✅ 均衡器调节
音频播放界面

SOUI4 SVG 矢量图形支持

基于 SVG 1.1 标准的实时渲染引擎,零光栅化、低内存占用、AI 友好的 UI 设计方案

🎯 SVG 1.1 标准支持

SOUI4 完整支持 W3C SVG 1.1 标准,提供:

  • 基本形状(矩形、圆形、椭圆、多边形、线条)
  • 路径绘制(贝塞尔曲线、弧线、复杂路径)
  • 渐变填充(线性渐变、径向渐变)
  • 变换操作(平移、旋转、缩放、倾斜、矩阵变换)
  • 滤镜效果(阴影、模糊、发光、高斯模糊)
  • 文本渲染与字体嵌入

⚡ 实时渲染,零光栅化

核心优势:SOUI4 不使用传统的位图光栅化方案,而是直接解析 SVG 的矢量描述,通过 SOUI API 实时渲染到屏幕。

  • 零光栅化开销:无需预先生成多套分辨率的 PNG 图片
  • 极低内存占用:SVG 文件通常仅几 KB,而多套 PNG 可能达到数 MB
  • 完美适配高分屏:任意缩放不失真,自动适配 4K/Retina/8K 显示器
  • 动态样式切换:运行时修改颜色、大小、透明度等属性
  • 硬件加速:利用 GPU 进行矢量图形渲染,性能优异
对比传统方案:
传统方式:为 1x/2x/3x 屏幕准备 3 套 PNG → 内存占用 300%
SOUI4 SVG:单个 SVG 文件适配所有分辨率 → 内存占用 30%

🤖 AI 友好的 UI 设计

革命性优势:SVG 的文本描述特性使其成为 AI 生成 UI 资源的理想格式。

  • AI 可直接理解:SVG 是 XML 文本格式,AI 模型可以直接读取和生成
  • 自然语言生成图标:通过描述即可让 AI 生成 SVG 图标(如"创建一个红色的播放按钮")
  • 批量生成资源:AI 可以一次性生成整套 UI 图标库,保持风格一致
  • 智能修改:用自然语言指令调整颜色、大小、形状(如"把所有图标改成蓝色主题")
  • 版本控制友好:文本格式便于 Git 管理和差异对比
AI 协作示例:
👨‍💻 开发者:"帮我设计一套音乐播放器图标,包括播放、暂停、停止、上一首、下一首"
🤖 AI 助手:生成 5 个风格统一的 SVG 文件
👨‍💻 开发者:"把所有图标的主色调改为红色 #e60026"
🤖 AI 助手:批量修改颜色属性,瞬间完成
💾

内存优化

相比多套 PNG 方案,内存占用降低 70-90%

🎨

无限缩放

从手机到 8K 显示器,始终保持清晰锐利

⚙️

动态主题

运行时切换深色/浅色主题,无需重新加载资源

🚀

开发效率

AI 辅助生成 + 文本编辑,图标制作速度提升 10 倍

🤖 AI + SVG 工作流

1

自然语言描述

"设计一套扁平风格的音乐播放器图标,主色调红色"

2

AI 生成 SVG

AI 输出标准 SVG 1.1 代码,包含所有图标

3

集成到项目

复制到 uires/svg/ 目录,在 uires.idx 中注册

4

实时预览

运行程序,SOUI4 实时渲染,完美显示

立即下载

选择适合您平台的版本,全部为单文件绿色版

🪟

Windows

Windows 10/11 (64-bit)

  • ✅ 单文件 exe(约 5 MB)
  • ✅ 无需安装,双击运行
  • ✅ 静态链接 CRT(MT 模式)
下载 Windows 版 v1.0.0
🍎

macOS

macOS 10.15+ (Intel/Apple Silicon)

  • ⚠️ 由于 macOS 签名要求,不提供预编译版本
  • ✅ 支持从源代码编译
  • ✅ 通用二进制(Universal)构建
  • ✅ 完整的 CMake 构建脚本
查看编译指南 从源代码构建

📦 获取源代码

XMusic 完全开源,欢迎贡献代码或报告问题

🔗 Gitee 仓库