File: Audio.html

package info (click to toggle)
three.js 111%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 15,184 kB
  • sloc: javascript: 133,174; makefile: 24; sh: 1
file content (234 lines) | stat: -rw-r--r-- 7,589 bytes parent folder | download | duplicates (2)
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] &rarr;

		<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>