EJW*_*EJW 5 javascript audio three.js
我正在使用 PositionalAudio 创建一系列声音:
var newVoice = new THREE.PositionalAudio(listener);
newVoice.setBuffer(buffer);
newVoice.setRefDistance(20);
newVoice.autoplay = true;
newVoice.setLoop(true);
voices.push(newVoice);
Run Code Online (Sandbox Code Playgroud)
我已将这些声音附加到立方体上,但我只想让用户以 30 度直角面对立方体时听到声音。30 度圆锥体之外的任何物体都应该保持安静。
我在这里看到了文档,但唯一有效的参数是我使用的“setRefDistance”。其他的不起作用。我用的是r74
有任何想法吗?要点在这里:https://gist.github.com/evejweinberg/949e297c34177199386f945549a45c06
Three.js Audio 是网络音频 API 的包装器。您可以将所有设置应用到平移器,可使用以下命令使用getOutput():
var sound = new THREE.PositionalAudio( listener );
var panner = sound.getOutput();
panner.coneInnerAngle = innerAngleInDegrees;
panner.coneOuterAngle = outerAngleInDegrees;
panner.coneOuterGain = outerGainFactor;
Run Code Online (Sandbox Code Playgroud)
coneInnerAngle:定向音频源的参数,这是一个角度,在该角度内不会降低音量。默认值为 360。
coneOuterAngle:定向音频源的参数,这是一个角度,在该角度之外,音量将减小到 coneOuterGain 的恒定值。默认值为 360。
ConeOuterGain:定向音频源的参数,这是在coneOuterAngle 之外的音量减小量。默认值为 0。
资料来源: