javascript - 如何使用网络音频 api 测量压缩?

标签 javascript html web-audio-api meter

我想创建一个 HTML 仪表来显示压缩节点所做的减少。

我使用了这段代码,但它并没有改变仪表

compressor = context.createDynamicsCompressor();
compressor.threshold = -50;
compressor.ratio = 12;
compressor.attack = 0.003;
compressor.reduction.onchange = function () {
  var gainReduction = pluginSlot1.reduction;
  document.getElementById("meter").value = gainReduction.value;
};

这是连接到这个 HTML

< meter id="meter" min="0" max="100">

我需要做什么才能让它发挥作用?

最佳答案

这是一个快速而肮脏的 jsbin 示例:http://jsbin.com/ahocUt/1/edit

除非我在规范中遗漏了什么,reduction param 不触发任何事件。您只需要按需阅读即可。在我的示例中,这只是发生在 requestAnimationFrame 上。循环。

您缺少的另一件事是您需要使用 compressor.threshold.value 设置参数,因为 compressor.threshold实际上是一个对象。

希望对您有所帮助。

关于javascript - 如何使用网络音频 api 测量压缩?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18604975/

相关文章:

javascript - 反点击劫持代码导致页面不断刷新

javascript - 我有一个未捕获的语法错误 : Unexpected token : on a getJSON call. 为什么?

javascript - 如何防止使用 onclick 从按钮关闭 Bootstrap 模式?

html - 复选框和文本的 Bootstrap 内联

javascript - 在调整大小时合并 Bootstrap 行

javascript - Web Audio 解码音频数据 iOS 上的分块破折号音频

javascript - vue js中从一个组件转到另一个组件时如何保留组件的信息

javascript - 鼠标悬停在其区域 css 时显示的子菜单

javascript - 如何在 JavaScript 中快速播放声音文件的多个副本

ios - 在 iOS 上禁用移动 Chrome 的音频自动播放策略限制?