弹幕使包子福来参上☆ - 音乐播放器
type: channel
link: https://baozifly.icu/index.php/tag/%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE%E5%99%A8/
items: Windows 本地音乐播放器简史

Windows 本地音乐播放器简史
type: item
date: 2026-05-19T17:00:00+00:00
description: 前言近几年，随着 Vibe coding 的兴起，桌面软件又出现了一轮“重新造轮子”的潮流。如果你还不了解 Vibe coding，它通常指开发者用自然语言描述需求，由 AI Agent 快速搭建应用的一种开发方式。它降低了写代码的门槛，也让许多个人开发者和小团队更容易做出可运行的软件原型。比如，我在 B 站上就经常能刷到很多音乐播放器，框架不是 Electron 就是 Flutter，估计 Tauri 也快了。这让我意识到，很多原本功能并不复杂的工具，也开始用 Electron 或类似的跨平台框架来开发了。然而，所谓 Electron，说白了就是把 Chromium 浏览器内核和 Node.js 运行环境打包进去，好处是前端开发者可以配合 AI 用网页技术写桌面程序，但问题也正出在这里，将浏览器内核打包进去，安装包就注定越来越大，也会带来启动越来越慢，内存占用越来越高的性能问题。对于本地音频播放器这类软件，我个人认为，播放一首本地 MP3 或 FLAC，也许并不需要塞进一个庞大的浏览器运行时。回顾那些仍然有爱好者使用的老牌 Windows 本地播放器，它们追求的是小体积、低占用、插件强大、可换肤、音频输出可控，同时也重视本地文件管理。很多播放器外观极具个性，性能也十分能打。这种反差让我不禁开始思考，本地音频播放器到底是如何一步步演变的。本文就按照时间顺序，聊聊 Windows 本地音频播放器的发展历史。当然，本人的时间、阅历和知识量有限，所以编写的这一文章所涉及的只是蜻蜓点水。如有缺漏，还请海涵。一、从这一刻起，历史发生了巨变1.1 是你逼我的本地音频播放器的历史，首先是一段和硬件相较劲的历史。今天的电脑，无论是低端还是高端，播放 MP3、FLAC、WAV 都估计没有什么压力。但在 1990 年代末，连实时解码 MP3 这么简单的任务，对普通家用电脑来说也是一项前所未有的挑战。当时常见的 CPU 是 Intel Pentium，也就是奔腾处理器，还有早期 Pentium II。内存容量也很有限，许多家庭电脑只有几十 MB。用户一边播放音乐，一边打开网页、复制文件或者运行其他程序，很容易遇到声音卡顿、爆音，甚至系统还会钟离假死给你看。那时 Windows 的音频架构也不成熟。Windows 95/98/NT 4.0 虽然已经支持多媒体，但音频 API、系统混音器、声卡驱动都远没有后来稳定。音频 API 可以理解为应用程序调用系统声音功能的一套接口。播放器开发者经常需要认真调整缓冲区、输出线程优先级，甚至使用汇编代码优化解码流程。汇编语言比 C、C++ 更接近机器指令，写起来更容易掉头发，但在早期硬件性能紧张的年代，可以带来更直接的性能优化。1.2 WHY MP3?MP3 之所以重要，是因为它解决了当时最现实的问题，也就是音频文件体积过大的问题。标准 CD 音频规格是 44.1 kHz、16 bit、双声道，码率大约 1411 kbps。44.1 kHz 表示每秒采样 44100 次，16 bit 表示每个采样点用 16 位数据记录声音强弱，双声道则对应左右两个声道。这么一算，一首几分钟的 WAV 文件可能就有几十 MB 甚至上百 MB。在拨号上网和小容量硬盘的年代，这种体积想要传播和保存难如登天。MP3 通过有损压缩，把一首歌压缩到原来的十分之一左右，非常简单粗暴，也非常有效。有损压缩，顾名思义，压缩之后就无法完全还原原始数据了。像图片里的 JPEG、视频里的 H.264、音频里的 MP3 都属于常见的有损压缩。它们共同的思路是尽量丢掉人不太容易察觉的信息，用更小的体积换取尽可能可接受的感知质量。MP3 的核心思路是心理声学模型。所谓心理声学，研究的是人耳和大脑如何感知声音。编码器根据人耳听觉特点，舍弃一部分不容易被察觉的声音信息。比如，一个很响的声音会掩盖附近频率里较弱的声音。某些瞬间出现的强音，也会让前后很短时间内的细节不容易被察觉。编码器正是利用这些规律，把有限码率集中分配给更容易被听见的部分。这样一来，128 kbps 的 MP3 通常只有几 MB，普通用户完全可以接受。MP3 并非是 MPEG 音频标准里的唯一格式，它的诞生还源自一场智斗巅峰。1987 年开始，在欧盟 EUREKA 计划推动的数字音频广播项目中，逐渐形成了两条主要技术路线。一边是 Philips、CCETT 等主导的 MUSICAM 方案，主打低复杂度的时域子带编码，硬件友好、延迟低，约 30ms，适合广播传输。另一边是德国 Fraunhofer IIS 牵头的 ASPEC 方案。ASPEC 的灵魂人物 Karlheinz Brandenburg 后来被称为 MP3 之父，他采用了更激进的 MDCT 变换和复杂心理声学模型，频率分辨率更高、压缩效率更…