铃声制作

tips:导入文件,可以听到歌曲在播放,然后操作右侧进度条上的按钮来设置铃声起始位置和终点位置,最后点击保存铃声就可做出铃声了。

原理:加载音频文件后使用AudioContext对文件进行解码,得到PCM数据(前端使用Float32Array存储),PCM数据截取30s至50s的PCM数据, 可以通过 sampleRate * 30得到数据的起始位置,samplteRate * 50 来得到起始位置,然后使用subarray方法截取。再把PCM数据转化为wav文件数据, 然后通过URL.createObjectURL来导出wav数据的文件引用链接,下载此链接就可以实现保存音频文件到硬盘中,实现了一个制作wav铃声的功能。 (要导出其他格式的音频文件,原理也一档,只不过需要更复杂的压缩算法来缩小音频文件的体积)。
此方法还可以使用在录音,音频转码,合并两个音频文件导出新的音频等方面。