const data = dataArray.slice(100, 1000);
const sum = data.reduce((a, b) => a + b);
return sum;
};
具体可以参考 https://developer.mozilla.org/zh-CN/docs/Web/API/AnalyserNode/frequencyBinCount
其它
HTTPS:在 chrome 下需要全站有 HTTPS 才允许使用
微信:在微信内置的浏览器需要调用 JSSDK 才能使用
音频格式转换:音频格式的方式也有很多了,能查到的大部分资料,大家基本上是互相 copy,当然还有一个音频质量的问题,这里就不赘述了。
结语
这次遇到的大部分问题都是兼容性的问题,因此在上面踩了不少坑,尤其是移动端的问题,一开始还有出现因为获取录音时长写法错误的问题,导致直接卡死的情况。这次的经历也弥补了 HTML5 API 上的一些空白,当然最重要的还是要提醒一下大家,这种原生的 API 文档还是直接查看 MDN 来的简单粗暴!









