Web Audio API-正在删除筛选器
Web Audio API - Removing filter
我正在构建一个具有多种图形模式的可视化器。对于其中的一些,我需要计算正在播放的曲目的节拍,据我所知,我需要应用如下低通滤波器,以增强最有可能保持鼓声的频率:
var filter = context.createBiquadFilter();
source.connect(filter);
filter.connect(context.destination);
filter.type = 'lowpass';
但是如果我想关闭过滤器怎么办?每次需要删除筛选器时,是否都必须重新连接源?这会对性能产生负面影响吗?
相关问题:如果我有两个来自同一音频源的两个源,并对其中一个应用滤波器,我会经历多大的性能损失?
如果我有两个来自同一音频源的两个源,并将滤波器应用于其中一个,我会经历多少性能损失
您可以将单个音频节点连接到多个目的地,因此您永远不需要重复的源来分散连接。如果您同时需要过滤和原始音频,您可以相应地设置连接:
var filter = context.createBiquadFilter();
source.connect(filter);
source.connect(context.destination);
filter.connect(context.destination);
filter.type = "lowpass";
无论如何,将FilterNode的类型属性设置为"allpass"
将有效地禁用所有过滤,而无需重新连接:
filter.type = "allpass"
根据文章WebAudio intro|html5rocks,我必须通过断开源和本身来打开和关闭过滤器,如下所示:
this.source.disconnect(0);
this.filter.disconnect(0);
// Check if we want to enable the filter.
if (filterShouldBeEnabled) {
// Connect through the filter.
this.source.connect(this.filter);
this.filter.connect(context.destination);
} else {
// Otherwise, connect directly.
this.source.connect(context.destination);
}
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何删除多行HTML排列中的空白
- 如何从rails中的代码中删除新行( )
- 删除对HTML元素的拖动
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 使用AngularJS中的筛选器更新给定的表
- 按顺序添加和删除类
- iframe正在添加标签,需要删除它们
- 淘汰搜索/筛选
- 如何在HTML输入字段中添加不可删除的后缀
- addData()从最新图表中删除.js 2.1.3-怎么了
- Dynamics CRM-在父查找为空时删除依赖查找筛选
- 如何筛选要写入新文档的HTML,删除JavaScript中的某些类和/或ID
- Web Audio API-正在删除筛选器
- 使用筛选方法从数组中删除值
- 使用原始JavaScript或undercore.js根据布尔值删除或筛选对象
- MongoDB sort()会删除那些没有;不包含排序筛选器
- 当使用Jquery自动完成功能时,如何删除筛选条件并在文本输入字段的焦点上显示数据
- 表筛选器小部件过滤任何匹配.如何只搜索所有列(删除单个列的搜索)