Three.js API手册

动画
AnimationAction AnimationClip AnimationMixer AnimationObjectGroup AnimationUtils KeyframeTrack PropertyBinding PropertyMixer
动画 / 轨道
BooleanKeyframeTrack ColorKeyframeTrack NumberKeyframeTrack QuaternionKeyframeTrack StringKeyframeTrack VectorKeyframeTrack
音频
Audio AudioAnalyser AudioContext AudioListener PositionalAudio
摄像机
ArrayCamera Camera CubeCamera OrthographicCamera PerspectiveCamera StereoCamera
常量
Animation Core CustomBlendingEquation DrawModes Materials Renderer Textures
核心
BufferAttribute BufferGeometry Clock DirectGeometry EventDispatcher Face3 Geometry InstancedBufferAttribute InstancedBufferGeometry InstancedInterleavedBuffer InterleavedBuffer InterleavedBufferAttribute Layers Object3D Raycaster Uniform
核心 / BufferAttributes
BufferAttribute_Types
弃用列表
DeprecatedList
附件
Earcut ShapeUtils
附件 / 核心
Curve CurvePath Font Interpolations Path Shape ShapePath
附件 / 曲线
ArcCurve CatmullRomCurve3 CubicBezierCurve CubicBezierCurve3 EllipseCurve LineCurve LineCurve3 QuadraticBezierCurve QuadraticBezierCurve3 SplineCurve
附件 / 物体
ImmediateRenderObject
几何体
BoxBufferGeometry BoxGeometry CircleBufferGeometry CircleGeometry ConeBufferGeometry ConeGeometry CylinderBufferGeometry CylinderGeometry DodecahedronBufferGeometry DodecahedronGeometry EdgesGeometry ExtrudeBufferGeometry ExtrudeGeometry IcosahedronBufferGeometry IcosahedronGeometry LatheBufferGeometry LatheGeometry OctahedronBufferGeometry OctahedronGeometry ParametricBufferGeometry ParametricGeometry PlaneBufferGeometry PlaneGeometry PolyhedronBufferGeometry PolyhedronGeometry RingBufferGeometry RingGeometry ShapeBufferGeometry ShapeGeometry SphereBufferGeometry SphereGeometry TetrahedronBufferGeometry TetrahedronGeometry TextBufferGeometry TextGeometry TorusBufferGeometry TorusGeometry TorusKnotBufferGeometry TorusKnotGeometry TubeBufferGeometry TubeGeometry WireframeGeometry
辅助对象
ArrowHelper AxesHelper BoxHelper Box3Helper CameraHelper DirectionalLightHelper FaceNormalsHelper GridHelper PolarGridHelper PositionalAudioHelper HemisphereLightHelper PlaneHelper PointLightHelper RectAreaLightHelper SkeletonHelper SpotLightHelper VertexNormalsHelper
灯光
AmbientLight DirectionalLight HemisphereLight Light PointLight RectAreaLight SpotLight
灯光 / 阴影
DirectionalLightShadow LightShadow SpotLightShadow
加载器
AnimationLoader AudioLoader BufferGeometryLoader Cache CompressedTextureLoader CubeTextureLoader DataTextureLoader FileLoader FontLoader ImageBitmapLoader ImageLoader Loader LoaderUtils MaterialLoader ObjectLoader TextureLoader
加载器 / 管理器
DefaultLoadingManager LoadingManager
材质
LineBasicMaterial LineDashedMaterial Material MeshBasicMaterial MeshDepthMaterial MeshDistanceMaterial MeshLambertMaterial MeshMatcapMaterial MeshNormalMaterial MeshPhongMaterial MeshPhysicalMaterial MeshStandardMaterial MeshToonMaterial PointsMaterial RawShaderMaterial ShaderMaterial ShadowMaterial SpriteMaterial
数学库
Box2 Box3 Color Cylindrical Euler Frustum Interpolant Line3 Math Matrix3 Matrix4 Plane Quaternion Ray Sphere Spherical Triangle Vector2 Vector3 Vector4
数学库 / 插值
CubicInterpolant DiscreteInterpolant LinearInterpolant QuaternionLinearInterpolant
物体
Bone Group Line LineLoop LineSegments LOD Mesh Points Skeleton SkinnedMesh Sprite
渲染器
WebGLMultisampleRenderTarget WebGLRenderer WebGLRenderTarget WebGLRenderTargetCube
渲染器 / 着色器
ShaderChunk ShaderLib UniformsLib UniformsUtils
场景
Fog FogExp2 Scene
纹理贴图
CanvasTexture CompressedTexture CubeTexture DataTexture DataTexture3D DepthTexture Texture VideoTexture
推荐:用 NSDT场景编辑器 快速搭建3D场景。

Audio

创建一个( 全局 ) audio对象.

使用 Web Audio API.

例子

webaudio / sandbox
webaudio / visualizer

// create an AudioListener and add it to the camera 
var listener = new THREE.AudioListener(); 
camera.add( listener ); // create a global audio source 
var sound = new THREE.Audio( listener ); 
// load a sound and set it as the Audio object's buffer 
var audioLoader = new THREE.AudioLoader(); 
audioLoader.load( 'sounds/ambient.ogg', function( buffer ) { 
  sound.setBuffer( buffer ); 
  sound.setLoop( true ); 
  sound.setVolume( 0.5 ); 
  sound.play(); 
});

构造函数

Audio( listener : AudioListener )

listener — (必须) AudioListener 的实例.

属性

# .autoplay : Boolean

是否自动开始播放. 默认为 false.

# .context : AudioContext

构造函数中传入listener的AudioContext.

# .detune : Number

修改音高,以音分为单位。 +/- 100为一个半音, +/- 1200为一个八度。默认值为0。

# .filters : Array

表示BiquadFilterNodes的数组. 可以使用多种不同的低阶filters去创建复杂的音效. filters可以通过 Audio.setFilter 或者 Audio.setFilters设置.

# .gain : GainNode

使用AudioContext.createGain()创建的GainNode.

# .hasPlaybackControl : Boolean

是否可以使用 play(), pause()等方法控制播放. 默认为 true.

# .playbackRate : Number

播放速率. 默认为 1.

# .isPlaying : Boolean

是否正在播放

# .listener : AudioListener

A reference to the listener object of this audio.

# .startTime : Number

开始播放的时间. 和AudioBufferSourceNode.start()的when参数一样. 默认为 0.

# .offset : Number

音频开始播放的偏移时间. 和AudioBufferSourceNode.start()的offset参数一样. 默认为 0.

# .source : String

使用 AudioContext.createBufferSource()创建的AudioBufferSourceNode.

# .sourceType : String

音源的类型. 默认为 'empty'.

# .type : String

表示类型的字符串, 设置为'Audio'.

方法

# .connect () : Audio

连接Audio.source. 在初始化和设置/删除filters时使用.

# .disconnect () : Audio

断开连接Audio.source. 在设置/删除filters时使用.

# .getFilter () : BiquadFilterNode

返回 filters 数组的第一个元素.

# .getFilters () : Array

返回filters 数组.

# .getLoop () : Boolean

返回source.loop (是否循环播放)的值.

# .getOutput () : GainNode

返回gainNode.

# .getPlaybackRate () : Float

返回playbackRate的值.

# .getVolume ( value ) : Float

返回音量.

# .play () : Audio

如果hasPlaybackControl是true, 开始播放.

# .pause () : Audio

如果hasPlaybackControl是true, 暂停播放.

# .onEnded () : null

播放完成后自动调用. 如果isPlaying设置为false.

# .setBuffer ( audioBuffer ) : Audio

设置source给audioBuffer, 和设置sourceType给'buffer'.
如果autoplay为true, 也开始播放.

# .setFilter ( filter ) : Audio

设置一个BiquadFilterNode给Audio.

# .setFilters ( value : Array ) : Audio

value--filters数组.
应用BiquadFilterNodes数组给Audio.

# .setLoop ( value : Boolean ) : Audio

设置source.loop 的值 (是否循环播放).

# .setMediaElementSource ( mediaElement ) : Audio

应用HTMLMediaElement类型对象作为音源.
并且设置hasPlaybackControl为false.

# .setNodeSource ( audioNode ) : Audio

设置source给audioBuffer, 和设置sourceType给 'audioNode'.
并且设置hasPlaybackControl为false.

# .setPlaybackRate ( value : Float ) : Audio

如果hasPlaybackControl是true, 设置playbackRate(播放速率) 的值.

# .setVolume ( value : Float ) : Audio

设置音量.

# .stop () : Audio

如果hasPlaybackControl是true, 停止播放, 重新设置startTime为 0 和 设置 isPlaying为false.

源码

src/audio/Audio.js