案例
Webamp:在浏览器中重新实现 Winamp 2
用 HTML5 和 JavaScript 重新实现 Winamp 2 的主窗口、均衡器和播放列表窗口,借助 Web Audio 实现播放、音量、声道平衡和均衡器,并渲染原有的经典 .wsz 皮肤,其文档称渲染效果与 Winamp 2.9 逐像素一致;Milkdrop 预设通过 Butterchurn 的 WebGL 移植版运行。它以 webamp npm 模块的形式发布,可嵌入网页,同一 monorepo 还运行着 webamp.org 和 skins.webamp.org 皮肤博物馆。其中的 webamp-modern 原型面向 Winamp 3/5 的现代皮肤,内含 MAKI 皮肤脚本解释器;MAKI 字节码格式原本没有公开文档,作者对其进行了逆向分析,并在仓库中写成文档。
使用条件与局限
- 审阅时的最新版本为 npm 上的 webamp 2.3.1,于 2026-06-16 发布;所审阅的 master 分支提交(2026-10-17)另含更新日志中列出、尚未发布的无障碍和 API 改动。README 称它可在新版 Edge、Firefox、Safari 和 Chrome 中运行。它重新实现的是 Winamp 的行为和皮肤渲染,并非恢复 Winamp 的代码;webamp-modern 仍是原型,尚有一份未完成的 MAKI 与皮肤功能清单。
- 无需原版 Winamp:Webamp 自带默认皮肤和示例音轨,用户也可载入自己的 Winamp 2 .wsz 皮肤、音频文件、Milkdrop 预设和 .eqf 均衡器预设。从其他域名获取的皮肤和音频须允许 CORS 访问,因为 Webamp 需要读取其内容。
- 开发使用 pnpm 和 Turborepo;.nvmrc 指定 Node.js 22,CI 则用 Node.js 20 构建所有包、执行代码检查和类型检查并运行 Jest 测试。这些测试检验的是 Webamp 自身的解析和渲染,而非与 Winamp 的等价性。编译 webamp-modern 的 MAKI 测试脚本时会调用仓库自带的 Winamp 5.66 mc.exe:在 Windows 上直接运行,在其他系统上通过 Wine 运行。
- 代码采用 MIT 许可,README 称 Winamp 的名称、界面和示例音频文件属于 Nullsoft。以下随附文件没有自己的许可声明:packages/webamp-modern/resources/maki_compiler 下的 Nullsoft MAKI 编译器(从 Winamp 3 alpha 8r 到 Winamp 5.66 的五个 mc.exe 版本、nscrt.dll 以及 MAKI .mi 库头文件),以 Winamp 默认皮肤命名的皮肤(base-2.91、Winamp 3 build 499、Winamp Modern 5.66)和用于演示与测试的第三方社区皮肤,llama 示例 MP3,以及 Winamp Modern Skins 教程 PDF。随附的 Perl 版 MAKI 反编译器采用 GPL-2.0 许可。所审阅的资料未表明使用了 REA 或 AI;本次未构建或运行任何内容。
关于此条目
- 类型
- 案例
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 目标
- 应用
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · captbaritone/webamp · 修订 f01369f
- README.md#L62-L67 GitHub · captbaritone/webamp · 修订 f01369f
- packages/webamp-docs/docs/05_features/05_skins.md GitHub · captbaritone/webamp · 修订 f01369f
- packages/webamp-docs/docs/05_features/03_equalizer.md GitHub · captbaritone/webamp · 修订 f01369f
- packages/webamp-docs/docs/05_features/02_mikdrop.md GitHub · captbaritone/webamp · 修订 f01369f
- packages/webamp-docs/docs/07_guides/01_cors.md GitHub · captbaritone/webamp · 修订 f01369f
- packages/webamp-docs/docs/12_changelog.md GitHub · captbaritone/webamp · 修订 f01369f
- packages/webamp/docs/architecture.md GitHub · captbaritone/webamp · 修订 f01369f
- packages/webamp-modern/README.md GitHub · captbaritone/webamp · 修订 f01369f
- packages/webamp-modern/src/maki/maki-bytecode.md GitHub · captbaritone/webamp · 修订 f01369f
- packages/webamp-modern/snowpack-maki-plugin.js GitHub · captbaritone/webamp · 修订 f01369f
- packages/webamp-modern/resources/maki_compiler GitHub · captbaritone/webamp · 修订 f01369f
- packages/webamp-modern/resources/maki_decompiler_1.1/COPYING GitHub · captbaritone/webamp · 修订 f01369f
- .github/workflows/ci.yml GitHub · captbaritone/webamp · 修订 f01369f
- .nvmrc GitHub · captbaritone/webamp · 修订 f01369f
- LICENSE.txt GitHub · captbaritone/webamp · 修订 f01369f
- https://registry.npmjs.org/webamp/2.3.1
同分区更多条目:应用
- JADX-AI-MCP · 集成
- apktool-mcp-server Apktool MCP 服务 · 集成
- frida-mcp (yfe404) · 集成
- Super Trouper · 集成
- Frida · 工具
- JADX · 工具