PositionalAudio - Verge3D 用户手册 - Soft8Soft
Description: 了解如何在使用 Verge3D 制作的交互式 3D 应用程序中使用 PositionalAudio

Object3D → Audio →

# PositionalAudio

创建一个位置相关的音频对象.
使用了Web Audio API.

## 代码示例

`// create an AudioListener and add it to the camera const listener = new v3d.AudioListener(); camera.add(listener); // create the PositionalAudio object (passing in the listener) const sound = new v3d.PositionalAudio(listener); // load a sound and set it as the PositionalAudio object's buffer const audioLoader = new v3d.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 v3d.SphereBufferGeometry(20, 32, 16); const material = new v3d.MeshPhongMaterial({ color: 0xff2200 }); const mesh = new v3d.Mesh(sphere, material); app.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) → PositionalAudio

设置panner.refDistance的值.

### # .getRolloffFactor() → Float

返回panner.rolloffFactor的值.

### # .setRolloffFactor(value : Float) → PositionalAudio

设置panner.rolloffFactor的值.

### # .getDistanceModel() → String

返回panner.distanceModel的值.

### # .setDistanceModel(value : String) → PositionalAudio

设置panner.distanceModel的值.

### # .getMaxDistance() → Float

返回panner.maxDistance的值.

### # .setMaxDistance(value : Float) → PositionalAudio

设置panner.maxDistance的值.

### # .setDirectionalCone(coneInnerAngle : Float, coneOuterAngle : Float, coneOuterGain : Float) → PositionalAudio

这个方法用来把环绕声音转换为定向声音directional sound.

## 源代码

关于如何获取此模块的源代码，请查看 本页。