three.js PositionalAudio
2023-02-16 17:28 更新
创建一个位置相关的音频对象.
使用了Web Audio API.
代码示例
// create an AudioListener and add it to the camera
const listener = new THREE.AudioListener();
camera.add( listener );
// create the PositionalAudio object (passing in the listener)
const sound = new THREE.PositionalAudio( listener );
// load a sound and set it as the PositionalAudio object's buffer
const audioLoader = new THREE.AudioLoader();
audioLoader.load( 'sounds/song.ogg', function( buffer ) {
sound.setBuffer( buffer );
sound.setRefDistance( 20 );
sound.play();
});
// create an object for the sound to play from
const sphere = new THREE.SphereGeometry( 20, 32, 16 );
const material = new THREE.MeshPhongMaterial( { color: 0xff2200 } );
const mesh = new THREE.Mesh( sphere, material );
scene.add( mesh );
// finally add the sound to the mesh
mesh.add( sound );
例子
构造函数
PositionalAudio( listener : AudioListener )
listener — (必须) AudioListener 实例.
属性
Audio类的继承属性.
.panner : PannerNode
位置相关音频的PannerNode.
方法
Audio类的继承方法.
.getOutput () : PannerNode
返回panner.
.getRefDistance () : Float
返回panner.refDistance的值.
.setRefDistance ( value : Float ) : this
设置panner.refDistance的值.
.getRolloffFactor () : Float
返回panner.rolloffFactor的值.
.setRolloffFactor ( value : Float ) : this
设置panner.rolloffFactor的值.
.getDistanceModel () : String
返回panner.distanceModel的值.
.setDistanceModel ( value : String ) : this
设置panner.distanceModel的值.
.getMaxDistance () : Float
返回panner.maxDistance的值.
.setMaxDistance ( value : Float ) : this
设置panner.maxDistance的值.
.setDirectionalCone ( coneInnerAngle : Float, coneOuterAngle : Float, coneOuterGain : Float ) : this
这个方法用来把环绕声音转换为定向声音directional sound.
源码
以上内容是否对您有帮助:
更多建议: