Audio.getFilters()
是Three.js中Audio
类的一个成员函数,它返回连接到音频源的Web Audio API高通、低通、带通和带阻滤波器的数组。
Audio.getFilters(): AudioFilter[]
该函数返回一个AudioFilter
类型的数组,其中包含连接到音频源的不同类型的滤波器。AudioFilter
对象是Three.js
的内置类型之一,表示一个Web Audio API滤波器节点。可以使用该节点对音频进行过滤和处理。
以下示例演示如何使用Audio.getFilters()
方法获取音频源的滤波器数组:
const listener = new THREE.AudioListener();
const audio = new THREE.Audio(listener);
audio.setMediaElementSource(document.getElementById('audio-element'));
const filters = audio.getFilters();
// 遍历滤波器数组,并向其中添加带通滤波器
for(let i = 0, l = filters.length; i < l; i++){
const filter = filters[i];
const type = filter.type;
if(type === 'bandpass'){
filter.frequency.value = 220;
filter.Q.value = 1;
}
}
如果尚未创建滤波器节点,则该方法将创建包括默认低通滤波器的新数组,并返回该数组。通过调用返回的AudioFilter
对象的属性和方法,可以更改这些节点的设置。
Audio
类AudioFilter
类