
网页里放声音,听着就是一句 audio 标签的事,真做起来坑不少:同一种格式不同浏览器支持的编码不一样,移动端还会限制自动播放,想做音效、做音乐播放器、做音频波形展示就更麻烦。这次整理了 4 款开源免费可商用的前端音频库,覆盖播放、合成、效果处理和波形可视化,都是纯前端文件,引进去就能跑。
播放、合成、变声、看波形
howler.js 主攻播放,把各大浏览器的音频兼容问题都抹平了,一套接口管到桌面和移动端。Tone.js 是 Web Audio 上的合成与编排框架,可以按时间轴写音符、做节拍器、搭合成器。Pizzicato.js 把混响、延迟、失真、颤音这些效果打包好,几行代码就能给声音加味。WaveSurfer.js 负责把音频画成波形图,还带时间轴、区域选段和频谱插件,做播客站和音乐站界面很好用。
使用方式
四个库都有压缩和未压缩两种文件,按需引到页面即可。基本用法都是先声明一个声音对象,再在按钮事件里调播放、暂停、调音量或者加效果,WaveSurfer 则要先给一个容器再加载音频地址。需要注意浏览器对自动播放有限制,必须由用户点击之类的操作触发才出声,这一点在说明文件里也写到了。各库文件夹内都保留了原始 README,示例代码直接抄改最快上手。
上手小建议
刚接触的话,只要播放功能就选 howler,接口少、文档全,几分钟就能出声。要做音乐相关的小工具,Tone.js 的上手成本比想象中低,它的示例页几乎覆盖了音阶、节拍、合成这些常用场景。给声音加工就配 Pizzicato,波形展示交给 WaveSurfer,两者都能和前面的播放库配合使用,不用一次全上,按需求逐个加就行。
这四款都是纯前端、零编译,放进现有网页项目直接用。许可都是 MIT,其中 WaveSurfer 是 BSD,商用和二次开发都不需要额外授权,保留 LICENSE 文件即可。音频文件本身请自备,本包内不含任何音乐或音效素材,下载后按各库的 README 引入即可使用,几个库的接口风格都偏简洁,学会一个再看其他的上手会很快。
























暂无评论内容