html5-audio - 在录制 HTML 音频时避免爆裂声和咔嗒声
问题描述
我正在构建一个应用程序,该应用程序允许用户使用麦克风录制消息,并且正在使用一个名为mic-recorder-to-mp3
. 构造函数采用bit-rate
当前的设置128
(对于录音来说应该绰绰有余)。
我们已经开始使用这个应用程序收集录音,其中一些很好,但另一些则非常糟糕,因为咔哒声和爆裂声很响。
我知道sample-rate
无法设置并且基于您正在使用的硬件,但是我还缺少其他东西吗?这个比特率是不是太高了?我需要设置更多的内存AudioBuffer
吗?非常感谢任何建议。
解决方案
我很高兴地发现,您现在可以在通话时设置限制,getUsermedia
这可以提高录音质量。它们在网络音频规范中为MediaTrackConstraints
:https ://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints
和用法:
export const audioTrackConstraints = {
echoCancellation: {exact: false},
autoGainControl: {exact: false},
noiseSuppression: {exact: false},
sampleRate: 16000,
}
navigator.mediaDevices.getUserMedia({ audio: audioTrackConstraints})
.then(() => {
console.log('Permission Granted');
})
.catch((error) => {
console.log(error.message);
})
推荐阅读
- python - 将 pandas 数据框中的多类训练示例(行)的上下采样到指定值
- shell - 如何使用 ansible shell 模块内联正确启动 Linux 服务?
- primes - 为什么从当前素数的平方开始第二个 Eratosthenes 筛子循环?
- reactjs - 无法读取未定义、材质 ui、theme.breakpoints 的属性“向上”
- node.js - 如何让发射器在 nodejs express 中运行?
- python - 如何在 django-filter 中创建 MultipleChoiceField?
- jquery - 如果内容相同,jQuery 或浏览器会更新元素吗?
- python - SciPy Curve_fit() 不适合曲线
- php - 在 php 类之外使用父级
- elasticsearch - Elasticsearch在正则表达式中转义特殊字符