B-3*_*-30 5 three.js web-audio-api tone.js
我可以轻松地让 Tone.js 在 Three.js 世界中生成音调,只需调用,例如 ,oscillator = new Tone.Oscillator(440, "sine").toMaster();但我不知道如何将该音调连接到 Three.js 世界中的 AudioListener 以使其成为位置声音。有人知道怎么做这个吗?
使用 Three.js 中内置的振荡器,它可以按照 Three.js音频沙箱示例完美运行,oscillator = listener.context.createOscillator();因此我认为这证明我需要将 Tone.js 输出连接到侦听器的 AudioContext,但我只是我不知道如何做到这一点,而且我在网上也找不到任何有关它的信息。我能找到的任何示例都只需使用toMaster()上述方法,因此声音不是位置性的。
任何帮助非常感谢!
我想通了,为将来搜索的人发布自我答案。您只需将contextTone.js 设置为与 PositionalAudio 对象相同,然后setNodeSource将该对象设置为 Tone.js 振荡器,将其添加到一些几何体中,嘿,很快,Tone.js 生成了位置音频:
var mesh1 = new THREE.Mesh( geometry, material ); //geometry, material defined elsewhere
scene.add(mesh1);
listener = new THREE.AudioListener();
camera.add( listener );
var sound1 = new THREE.PositionalAudio( listener );
Tone.context = sound1.context;
var oscillator1 = new Tone.Oscillator(440, "sine");
sound1.setNodeSource (oscillator1);
mesh1.add( sound1 );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1441 次 |
| 最近记录: |