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

MusicPlayer2:免费开源的本地音乐播放器,10分钟讲透歌词、封面与音效

MusicPlayer2:免费开源的本地音乐播放器,10分钟讲透歌词、封面与音效

【免费下载链接】MusicPlayer2MusicPlayer2是一款功能强大的本地音乐播放软件,旨在为用户提供最佳的本地音乐播放体验。它支持歌词显示、歌词卡拉OK样式显示、歌词在线下载、歌词编辑、歌曲标签识别、专辑封面显示、专辑封面在线下载、频谱分析、音效设置、任务栏缩略图按钮、主题颜色、格式转换等功能,支持高度自定义的界面布局,支持多种播放内核(BASS和FFMpeg)。播放器支持大部分常见的音频格式。项目地址: https://gitcode.com/gh_mirrors/mu/MusicPlayer2

D盘里200G的无损文件夹,封面全是灰色音符图标,歌词要找半天,想变速练歌结果音调跟着跑。这些困扰让我重新挑了一遍本地音乐播放器,最后落在免费开源的 MusicPlayer2 上。它把歌词、封面、界面、音效这四件本地播放最核心的事都做完了,而且不藏任何付费开关。

先说选型:为什么是双内核 🎯

大多数播放器只用一套解码库,播不了就是播不了。MusicPlayer2 内置了两个内核:BASS 是日常主力,轻量省资源;FFMpeg 负责兜底,处理特殊格式和网络流媒体。实测 MP3、FLAC、APE、WMA、OGG 这些常见格式都能直接打开,遇到冷门文件时,换个内核也许就放出来了。

第二个决策更特别:整个界面从 2.74 版本起用 XML 描述,按钮、文本、播放列表、频谱都是配置文件里的元素。这也是它自带多套布局、社区能玩出自定义皮肤的底层原因。

硬门槛先交代清楚:Windows 7 以上,依赖微软 Visual C++ 运行环境,完全免费,无会员无广告。

获取方式适合谁怎么做
官方发布页下载大多数想直接用的用户下载最新版安装包
Scoop 包管理器习惯命令行管理软件的scoop install extras/musicplayer2
拉源码编译想改界面、加功能的人git clone https://gitcode.com/gh_mirrors/mu/MusicPlayer2

源码编译需要 Visual Studio 2022,勾选 C++ 开发环境并启用 MFC,打开MusicPlayer2.sln即可构建。

歌词:从找词到对齐,一条链路走完 📜

我挑播放器最挑剔的就是歌词,这块它确实舍得下功夫。

同一首歌有三种显示形态:主界面歌词区、独立悬浮的桌面歌词,还挂在 Windows 任务栏的搜索框里,写代码时不切窗口也能偷看两句。

显示效果上,卡拉OK式逐字高亮,字是逐个"亮"过去的;原文和翻译如果时间标签相同,双语歌词会成对同屏滚动,外文歌不用来回切语言。

找词靠在线下载,源是网易云音乐和 QQ 音乐(后者是 2.78 版本刚加入的)。下载后按"艺术家-标题"自动命名归档,不往曲库里塞一堆乱码文件名。

时间轴没对齐也不用去歌词网站复制粘贴,内置歌词编辑器直接改时间标签。

边界要说一下:在线下载依赖平台接口,网易云 API 变动曾导致搜索失败,2.78 版本才修复(见Documents/update_log.md)。冷门歌搜不到属正常现象,以最新版表现为准。

封面与界面:把播放器当房间来装修 🎨

它有一个很讨喜的玩法:正在播放的专辑封面可以直接铺成背景,再叠一层高斯模糊。模糊半径、背景透明度、封面大小都在外观设置里可调,封面圆角会跟随"使用圆角风格"一起生效,视觉层次一下就出来了。

布局方面,自带界面 1 到 6、界面 12,外加一套仿 Groove 音乐(Windows 11)风格的深色方案;深浅主题可手动切换,也可跟随系统。窗口缩小时布局会自适应收缩,不会挤成一团。

声音:能调教,不只是出声 🔊

均衡器多段可调,流行、摇滚、古典这些预设一键切换;混响模拟音乐厅、录音棚的空间感,听人声歌氛围确实不一样。

2.78 版本给 BASS 内核加上了变速不变调,播放设置里还有变调开关,练外语歌、扒旋律派得上用场。左右声道可以独立调,音频延迟也能微调,适配不同耳机。

频谱分析是实时渲染的,高度和颜色在外观设置里改。看着频谱跟着节拍跳,算是个纯视觉加成。

管歌:媒体库、CUE分轨和格式转换 📁

歌一多,播放器好不好用就看管理了。

媒体库支持按艺术家、专辑、风格、文件夹四个维度浏览,"最近播放"和"我喜欢的音乐"是快捷入口。播放列表支持 M3U/M3U8,文件挪了位置后,右键菜单里有"修复错误的文件路径",这是很实际的救命功能。

无损党刚需:CUE 分轨。整轨 APE/FLAC 配一个 CUE 文件,能把音轨单独拆出来加进播放列表,不用事先拆文件。

格式转换内置在程序里,MP3、FLAC、WMA、WAV 互转,比特率、采样率、声道数都能指定,省得再装一个转换工具。

藏在细节里的东西也不少了:任务栏缩略图按钮不切窗口就能切歌;全局快捷键支持空格暂停、方向键切歌;迷你模式把窗口缩成一条极简控制栏;2.78 还加了"记住上次播放位置"选项,追长播客接着上次的进度来。

进阶玩法:不满意标准版,可以自己改 🧩

界面布局就是res/ui/目录下的 XML 文件。2.78 版本对自定义元素的增强很猛:按钮能自定义图标和文本、related_element_id属性让元素点击时联动显隐、stackElement支持鼠标拖动切换界面。想复刻社区皮肤,照着现有 XML 抄改就行,说明文档在主菜单"帮助-自定义界面"里。

配置文件config.ini的保存位置可以在常规设置里自定义,2.77 版本后还藏了个remove_titlebar_top_frame选项,专门处理 Windows 标题栏顶部白边。

想动代码的话,界面层在UIElement/UIPanel/目录,MFC 写的,播放核心封装在BassCore.hFfmpegCore.h后面,结构不复杂。

排雷:新手先知道这三件事 ⚠️

  1. *启动报"找不到MSVC.dll"**:不是软件坏了,是缺 Visual C++ 运行环境,装微软官方的 VC++ 可再发行程序包,重启即可,README 里有说明。
  2. FFMpeg 内核切换后没反应:这个内核从 2.75 版本起需要单独下载组件,不是装上就自带的,下载说明以最新版帮助文档为准。
  3. 切歌时明显卡顿:多半是文件里嵌了超大尺寸专辑封面,读取时拖慢播放。外观设置里把封面最大尺寸限制调低(比如 500×500),流畅度立竿见影。

收个尾

适合谁:手里有本地曲库,在意歌词、封面,想折腾界面又不想花一分钱的人;劝退谁:只想点开就放在线音乐、不碰本地文件管理的人。

最低成本试一次:装上,把一个音乐文件夹拖进媒体库,放一首你能搜到歌词的歌。歌词逐字亮起、频谱跟着跳的那一刻,你自然会决定留不留它。

【免费下载链接】MusicPlayer2MusicPlayer2是一款功能强大的本地音乐播放软件,旨在为用户提供最佳的本地音乐播放体验。它支持歌词显示、歌词卡拉OK样式显示、歌词在线下载、歌词编辑、歌曲标签识别、专辑封面显示、专辑封面在线下载、频谱分析、音效设置、任务栏缩略图按钮、主题颜色、格式转换等功能,支持高度自定义的界面布局,支持多种播放内核(BASS和FFMpeg)。播放器支持大部分常见的音频格式。项目地址: https://gitcode.com/gh_mirrors/mu/MusicPlayer2

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4159107.html

相关文章:

  • hubot-rocketchat架构深潜:hubot-meteorchat驱动模型与@rocket.chat/sdk响应式订阅完整指南
  • 一文掌握grafar.map:响应式依赖追踪与自动拓扑推断完全教程
  • 如何快速上手XRNeRF:Neural Radiance Field环境部署完整指南(含Docker一键搭建与避坑清单)
  • 122、双摄/多摄标定——外参标定与视差校正的产线实现与精度控制
  • 如何为Service Worker写测试?serviceworker-rails完整测试套件逐例解析
  • 告别误删生产集群:zsh-kubectl-prompt最佳实践清单与K8s终端效率提升总结
  • 三天实战阿里云:从零搭建高可用Web应用架构
  • Rollbar.js Telemetry 遥测深度解析:用『面包屑』快速还原用户报错现场的完整指南
  • 5 分钟快速上手 D-Zone:从零部署 Discord 活动模拟器的新手入门教程
  • hubot-rocketchat安全实践:bot用户权限管控、私有频道隔离与HTTPS证书连接避坑
  • Siberite性能基准测试实战:复现70K QPS洪峰测试并与Kestrel、Darner内存占用对比
  • XUnity.AutoTranslator:Unity 游戏自动翻译,装好改 3 行配置就能跑
  • cloud189-auto-save AI 功能实战:3步玩转智能重命名、自动过滤与季文件夹标准化
  • 单片机开发工具篇:(七)Keil MDK 如何更改已有工程的工程名
  • Direct3DHook 屏幕捕获高级技巧:多重采样 Resolve、GPU 缩放与 KeyedMutex 跨设备纹理共享全解析
  • 误改配置别慌!Envault变量版本历史与一键RollBack回滚功能深度解析
  • ComfyUI 节点工作流怎么用:从0到跑通第一个图生视频的5个步骤
  • Normy乐观更新实战:用optimisticData与rollbackData实现UI即时响应和自动回滚
  • 像素级渲染生成色彩图:Colorful ColorMapView颜色轮实现原理深度解析
  • 零依赖的传奇:10年仍流畅运行的纯JS复古贪吃蛇游戏——JavaScript-Snake 项目全览
  • MMAS Money Tracker 支出分析指南:用饼图一眼看穿你的钱花在了哪里
  • Megatron-LLM快速上手:手把手微调LLaMa 2 7B的完整实战教程(含500M tokens代码数据)
  • pg_pathman内置监控视图清单:pathman_partition_list等4大视图一键掌握分区状态
  • Lightbeam的心脏:一个HTTP请求如何从Firefox事件捕获变成图谱上的一个节点
  • 为什么 QMedia 的多模态 RAG 问答更聪明?图文短视频内容检索与智能问答使用详解
  • 一行use解决:Hammox.Protect宏如何让Elixir测试模块自带契约检查
  • heroku_san安装教程:Rails 3+、Rails 2与Sinatra三种框架如何快速接入Heroku部署
  • PyMacroRecord:免费跨平台宏录制工具,重复操作一键回放
  • 深入 Duster 架构:基于 Laravel Zero 与适配器模式统一 4 大 Lint 工具的设计之道
  • CoopCycle餐厅配置实战:5步搞定菜单、商品与在线点餐的完整教程