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.