Web AudioContext 录音如何降低采样率呢?
问题
可复现 Demo:https://github.com/rxliuli/au...
使用 Web AudioContext 录音,发现降低采样率之后的音频存在问题,听录音感觉是倍速播放一样。
降低采样率关键代码:
export class AsrXfTransform {
static interleave(
e: Float32Array,
sampleRate: number,
outputSampleRate: number
) {
const t = e.length;
sampleRate += 0.0;
outputSampleRate += 0.0;
let s = 0;
const o = sampleRate / outputSampleRate,
u = Math.ceil((t * outputSampleRate) / sampleRate),
a = new Float32Array(u);
for (let i = 0; i < u; i++) {
a[i] = e[Math.floor(s)];
s += o;
}
return a;
}
}
参考- [html5 record 修改采样率导致声音无法播放解决方案](https://blog.csdn.net/y824448940/article/details/51372381)
- [HTML5 Recording audio with low kbps](https://stackoverflow.com/a/26245112/8409380)
很明显这里是简单的间隔取值,但确实没有达到理想的效果,是哪里写错了么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论