1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<base href="../../../" />
<script src="list.js"></script>
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
[page:Object3D] →
<h1>[name]</h1>
<p class="desc">
创建一个( 全局 ) audio对象.<br /><br />
使用 [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API].
</p>
<h2>例子</h2>
<p>
[example:webaudio_sandbox webaudio / sandbox ]<br />
[example:webaudio_visualizer webaudio / visualizer ]
</p>
<code>
// 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();
});
</code>
<h2>构造函数</h2>
<h3>[name]( [param:AudioListener listener] )</h3>
<p>
listener — (必须) [page:AudioListener AudioListener] 的实例.
</p>
<h2>属性</h2>
<h3>[property:Boolean autoplay]</h3>
<p>是否自动开始播放. 默认为 *false*.</p>
<h3>[property:AudioContext context]</h3>
<p>构造函数中传入[page:AudioListener listener]的[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext].</p>
<h3>[property:Number detune]</h3>
<p>修改音高,以音分为单位。 +/- 100为一个半音, +/- 1200为一个八度。默认值为0。</p>
<h3>[property:Array filters]</h3>
<p>表示[link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNodes]的数组. 可以使用多种不同的低阶filters去创建复杂的音效. filters可以通过 [page:Audio.setFilter] 或者 [page:Audio.setFilters]设置.</p>
<h3>[property:GainNode gain]</h3>
<p>使用[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].</p>
<h3>[property:Boolean hasPlaybackControl]</h3>
<p>是否可以使用 [page:Audio.play play](),
[page:Audio.pause pause]()等方法控制播放. 默认为 *true*.</p>
<h3>[property:Number playbackRate]</h3>
<p>播放速率. 默认为 *1*.</p>
<h3>[property:Boolean isPlaying]</h3>
<p>是否正在播放</p>
<h3>[property:AudioListener listener]</h3>
<p>A reference to the listener object of this audio.</p>
<h3>[property:Number offset]</h3>
<p>音频开始播放的偏移时间. 和[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start]()的*offset*参数一样. 默认为 *0*.</p>
<h3>[property:Number duration]</h3>
<p>覆盖音频的持续时间。与[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start]()中的*duration*属性相同。默认为*undefined*,以用于播放整个buffer。</p>
<h3>[property:String source]</h3>
<p>使用 [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].</p>
<h3>[property:String sourceType]</h3>
<p>音源的类型. 默认为 'empty'.</p>
<h3>[property:String type]</h3>
<p>表示类型的字符串, 设置为'Audio'.</p>
<h2>方法</h2>
<h3>[method:Audio connect]()</h3>
<p>
连接[page:Audio.source]. 在初始化和设置/删除filters时使用.
</p>
<h3>[method:Audio disconnect]()</h3>
<p>
断开连接[page:Audio.source]. 在设置/删除filters时使用.
</p>
<h3>[method:BiquadFilterNode getFilter]()</h3>
<p>
返回 [page:Audio.filters filters] 数组的第一个元素.
</p>
<h3>[method:Array getFilters]()</h3>
<p>
返回[page:Audio.filters filters] 数组.
</p>
<h3>[method:Boolean getLoop]()</h3>
<p>
返回[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop]
(是否循环播放)的值.
</p>
<h3>[method:GainNode getOutput]()</h3>
<p>
返回[page:Audio.gain gainNode].
</p>
<h3>[method:Float getPlaybackRate]()</h3>
<p>
返回[page:Audio.playbackRate playbackRate]的值.
</p>
<h3>[method:Float getVolume]( value )</h3>
<p>
返回音量.
</p>
<h3>[method:Audio play]( delay )</h3>
<p>
如果[page:Audio.hasPlaybackControl hasPlaybackControl]是true, 开始播放.
</p>
<h3>[method:Audio pause]()</h3>
<p>
如果[page:Audio.hasPlaybackControl hasPlaybackControl]是true, 暂停播放.
</p>
<h3>[method:null onEnded]()</h3>
<p>
播放完成后自动调用.
</p>
<h3>[method:Audio setBuffer]( audioBuffer )</h3>
<p>
设置[page:Audio.source source]给audioBuffer, 和设置[page:Audio.sourceType sourceType]给'buffer'.<br />
如果[page:Audio.autoplay autoplay]为true, 也开始播放.
</p>
<h3>[method:Audio setFilter]( filter )</h3>
<p>
设置一个[link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNode]给Audio.
</p>
<h3>[method:Audio setFilters]( [param:Array value] )</h3>
<p>
value--filters数组.<br />
应用[link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNodes]数组给Audio.
</p>
<h3>[method:Audio setLoop]( [param:Boolean value] )</h3>
<p>
设置[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop]的值
(是否循环播放).
</p>
<h3>[method:Audio setLoopStart]( [param:Float value] )</h3>
<p>
设置[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopStart source.loopStart]的值
</p>
<h3>[method:Audio setLoopEnd]( [param:Float value] )</h3>
<p>
设置[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopEnd source.loopEnd]的值
</p>
<h3>[method:Audio setMediaElementSource]( mediaElement )</h3>
<p>
应用传入的[link:https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement HTMLMediaElement]类型对象作为音源。<br />
并且设置[page:Audio.hasPlaybackControl hasPlaybackControl]为false。
</p>
<h3>[method:Audio setMediaStreamSource]( mediaStream )</h3>
<p>
应用传入的[link:https://developer.mozilla.org/en-US/docs/Web/API/MediaStream MediaStream]类型对象作为音源。<br />
并且设置[page:Audio.hasPlaybackControl hasPlaybackControl]为false。
</p>
<h3>[method:Audio setNodeSource]( audioNode )</h3>
<p>
设置[page:Audio.source source]给audioBuffer, 和设置[page:Audio.sourceType sourceType]给 'audioNode'.<br />
并且设置[page:Audio.hasPlaybackControl hasPlaybackControl]为false.
</p>
<h3>[method:Audio setPlaybackRate]( [param:Float value] )</h3>
<p>
如果[page:Audio.hasPlaybackControl hasPlaybackControl]是true, 设置[page:Audio.playbackRate playbackRate](播放速率) 的值.
</p>
<h3>[method:Audio setVolume]( [param:Float value] )</h3>
<p>
设置音量.
</p>
<h3>[method:Audio stop]()</h3>
<p>
如果[page:Audio.hasPlaybackControl hasPlaybackControl]是true, 停止播放.
</p>
<h2>源码</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
|