[page:Object3D] →

[name]

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

使用 [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API].

例子

[example:webaudio_sandbox webaudio / sandbox ]
[example:webaudio_visualizer 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(); });

构造函数

[name]( [param:AudioListener listener] )

listener — (必须) [page:AudioListener AudioListener] 的实例.

属性

[property:Boolean autoplay]

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

[property:AudioContext context]

构造函数中传入[page:AudioListener listener]的[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext].

[property:Number detune]

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

[property:Array filters]

表示[link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNodes]的数组. 可以使用多种不同的低阶filters去创建复杂的音效. filters可以通过 [page:Audio.setFilter] 或者 [page:Audio.setFilters]设置.

[property:GainNode gain]

使用[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createGain AudioContext.createGain]()创建的[link:https://developer.mozilla.org/en-US/docs/Web/API/GainNode GainNode].

[property:Boolean hasPlaybackControl]

是否可以使用 [page:Audio.play play](), [page:Audio.pause pause]()等方法控制播放. 默认为 *true*.

[property:Number playbackRate]

播放速率. 默认为 *1*.

[property:Boolean isPlaying]

是否正在播放

[property:AudioListener listener]

A reference to the listener object of this audio.

[property:Number startTime]

开始播放的时间. 和[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start]()的*when*参数一样. 默认为 *0*.

[property:Number offset]

音频开始播放的偏移时间. 和[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start]()的*offset*参数一样. 默认为 *0*.

[property:Number duration]

覆盖音频的持续时间。与[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start]()中的*duration*属性相同。默认为*undefined*,以用于播放整个buffer。

[property:String source]

使用 [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource AudioContext.createBufferSource]()创建的[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode].

[property:String sourceType]

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

[property:String type]

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

方法

[method:Audio connect]()

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

[method:Audio disconnect]()

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

[method:BiquadFilterNode getFilter]()

返回 [page:Audio.filters filters] 数组的第一个元素.

[method:Array getFilters]()

返回[page:Audio.filters filters] 数组.

[method:Boolean getLoop]()

返回[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop] (是否循环播放)的值.

[method:GainNode getOutput]()

返回[page:Audio.gain gainNode].

[method:Float getPlaybackRate]()

返回[page:Audio.playbackRate playbackRate]的值.

[method:Float getVolume]( value )

返回音量.

[method:Audio play]()

如果[page:Audio.hasPlaybackControl hasPlaybackControl]是true, 开始播放.

[method:Audio pause]()

如果[page:Audio.hasPlaybackControl hasPlaybackControl]是true, 暂停播放.

[method:null onEnded]()

播放完成后自动调用. 如果[page:Audio.isPlaying isPlaying]设置为false.

[method:Audio setBuffer]( audioBuffer )

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

[method:Audio setFilter]( filter )

设置一个[link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNode]给Audio.

[method:Audio setFilters]( [param:Array value] )

value--filters数组.
应用[link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNodes]数组给Audio.

[method:Audio setLoop]( [param:Boolean value] )

设置[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop] 的值 (是否循环播放).

[method:Audio setMediaElementSource]( mediaElement )

应用[link:https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement HTMLMediaElement]类型对象作为音源.
并且设置[page:Audio.hasPlaybackControl hasPlaybackControl]为false.

[method:Audio setNodeSource]( audioNode )

设置[page:Audio.source source]给audioBuffer, 和设置[page:Audio.sourceType sourceType]给 'audioNode'.
并且设置[page:Audio.hasPlaybackControl hasPlaybackControl]为false.

[method:Audio setPlaybackRate]( [param:Float value] )

如果[page:Audio.hasPlaybackControl hasPlaybackControl]是true, 设置[page:Audio.playbackRate playbackRate](播放速率) 的值.

[method:Audio setVolume]( [param:Float value] )

设置音量.

[method:Audio stop]()

如果[page:Audio.hasPlaybackControl hasPlaybackControl]是true, 停止播放, 重新设置[page:Audio.startTime startTime]为 *0* 和 设置 [page:Audio.isPlaying isPlaying]为false.

源码

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]