OLD | NEW |
1 /** | 1 /** |
2 * High-fidelity audio programming in the browser. | 2 * High-fidelity audio programming in the browser. |
3 */ | 3 */ |
4 library dart.dom.web_audio; | 4 library dart.dom.web_audio; |
5 | 5 |
6 import 'dart:async'; | 6 import 'dart:async'; |
7 import 'dart:collection'; | 7 import 'dart:collection'; |
8 import 'dart:_internal' hide deprecated; | 8 import 'dart:_internal' hide deprecated; |
9 import 'dart:html'; | 9 import 'dart:html'; |
10 import 'dart:html_common'; | 10 import 'dart:html_common'; |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 // https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBu
ffer-section | 75 // https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBu
ffer-section |
76 @Experimental() | 76 @Experimental() |
77 class AudioBuffer extends Interceptor native "AudioBuffer" { | 77 class AudioBuffer extends Interceptor native "AudioBuffer" { |
78 // To suppress missing implicit constructor warnings. | 78 // To suppress missing implicit constructor warnings. |
79 factory AudioBuffer._() { throw new UnsupportedError("Not supported"); } | 79 factory AudioBuffer._() { throw new UnsupportedError("Not supported"); } |
80 | 80 |
81 @DomName('AudioBuffer.duration') | 81 @DomName('AudioBuffer.duration') |
82 @DocsEditable() | 82 @DocsEditable() |
83 final double duration; | 83 final double duration; |
84 | 84 |
85 @DomName('AudioBuffer.gain') | |
86 @DocsEditable() | |
87 num gain; | |
88 | |
89 @DomName('AudioBuffer.length') | 85 @DomName('AudioBuffer.length') |
90 @DocsEditable() | 86 @DocsEditable() |
91 final int length; | 87 final int length; |
92 | 88 |
93 @DomName('AudioBuffer.numberOfChannels') | 89 @DomName('AudioBuffer.numberOfChannels') |
94 @DocsEditable() | 90 @DocsEditable() |
95 final int numberOfChannels; | 91 final int numberOfChannels; |
96 | 92 |
97 @DomName('AudioBuffer.sampleRate') | 93 @DomName('AudioBuffer.sampleRate') |
98 @DocsEditable() | 94 @DocsEditable() |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 static const int SCHEDULED_STATE = 1; | 175 static const int SCHEDULED_STATE = 1; |
180 | 176 |
181 @DomName('AudioBufferSourceNode.UNSCHEDULED_STATE') | 177 @DomName('AudioBufferSourceNode.UNSCHEDULED_STATE') |
182 @DocsEditable() | 178 @DocsEditable() |
183 static const int UNSCHEDULED_STATE = 0; | 179 static const int UNSCHEDULED_STATE = 0; |
184 | 180 |
185 @DomName('AudioBufferSourceNode.buffer') | 181 @DomName('AudioBufferSourceNode.buffer') |
186 @DocsEditable() | 182 @DocsEditable() |
187 AudioBuffer buffer; | 183 AudioBuffer buffer; |
188 | 184 |
189 @DomName('AudioBufferSourceNode.gain') | |
190 @DocsEditable() | |
191 final AudioParam gain; | |
192 | |
193 @DomName('AudioBufferSourceNode.loop') | 185 @DomName('AudioBufferSourceNode.loop') |
194 @DocsEditable() | 186 @DocsEditable() |
195 bool loop; | 187 bool loop; |
196 | 188 |
197 @DomName('AudioBufferSourceNode.loopEnd') | 189 @DomName('AudioBufferSourceNode.loopEnd') |
198 @DocsEditable() | 190 @DocsEditable() |
199 num loopEnd; | 191 num loopEnd; |
200 | 192 |
201 @DomName('AudioBufferSourceNode.loopStart') | 193 @DomName('AudioBufferSourceNode.loopStart') |
202 @DocsEditable() | 194 @DocsEditable() |
203 num loopStart; | 195 num loopStart; |
204 | 196 |
205 @DomName('AudioBufferSourceNode.playbackRate') | 197 @DomName('AudioBufferSourceNode.playbackRate') |
206 @DocsEditable() | 198 @DocsEditable() |
207 final AudioParam playbackRate; | 199 final AudioParam playbackRate; |
208 | 200 |
209 @DomName('AudioBufferSourceNode.playbackState') | |
210 @DocsEditable() | |
211 final int playbackState; | |
212 | |
213 @DomName('AudioBufferSourceNode.noteGrainOn') | 201 @DomName('AudioBufferSourceNode.noteGrainOn') |
214 @DocsEditable() | 202 @DocsEditable() |
215 void noteGrainOn(num when, num grainOffset, num grainDuration) native; | 203 void noteGrainOn(num when, num grainOffset, num grainDuration) native; |
216 | 204 |
217 @DomName('AudioBufferSourceNode.noteOff') | 205 @DomName('AudioBufferSourceNode.noteOff') |
218 @DocsEditable() | 206 @DocsEditable() |
219 void noteOff(num when) native; | 207 void noteOff(num when) native; |
220 | 208 |
221 @DomName('AudioBufferSourceNode.noteOn') | 209 @DomName('AudioBufferSourceNode.noteOn') |
222 @DocsEditable() | 210 @DocsEditable() |
(...skipping 24 matching lines...) Expand all Loading... |
247 * | 235 * |
248 * See [EventStreamProvider] for usage information. | 236 * See [EventStreamProvider] for usage information. |
249 */ | 237 */ |
250 @DomName('AudioContext.completeEvent') | 238 @DomName('AudioContext.completeEvent') |
251 @DocsEditable() | 239 @DocsEditable() |
252 static const EventStreamProvider<Event> completeEvent = const EventStreamProvi
der<Event>('complete'); | 240 static const EventStreamProvider<Event> completeEvent = const EventStreamProvi
der<Event>('complete'); |
253 | 241 |
254 /// Checks if this type is supported on the current platform. | 242 /// Checks if this type is supported on the current platform. |
255 static bool get supported => JS('bool', '!!(window.AudioContext || window.webk
itAudioContext)'); | 243 static bool get supported => JS('bool', '!!(window.AudioContext || window.webk
itAudioContext)'); |
256 | 244 |
257 @DomName('AudioContext.activeSourceCount') | |
258 @DocsEditable() | |
259 final int activeSourceCount; | |
260 | |
261 @DomName('AudioContext.currentTime') | 245 @DomName('AudioContext.currentTime') |
262 @DocsEditable() | 246 @DocsEditable() |
263 final double currentTime; | 247 final double currentTime; |
264 | 248 |
265 @DomName('AudioContext.destination') | 249 @DomName('AudioContext.destination') |
266 @DocsEditable() | 250 @DocsEditable() |
267 final AudioDestinationNode destination; | 251 final AudioDestinationNode destination; |
268 | 252 |
269 @DomName('AudioContext.listener') | 253 @DomName('AudioContext.listener') |
270 @DocsEditable() | 254 @DocsEditable() |
271 final AudioListener listener; | 255 final AudioListener listener; |
272 | 256 |
273 @DomName('AudioContext.sampleRate') | 257 @DomName('AudioContext.sampleRate') |
274 @DocsEditable() | 258 @DocsEditable() |
275 final double sampleRate; | 259 final double sampleRate; |
276 | 260 |
277 @DomName('AudioContext.createAnalyser') | 261 @DomName('AudioContext.createAnalyser') |
278 @DocsEditable() | 262 @DocsEditable() |
279 AnalyserNode createAnalyser() native; | 263 AnalyserNode createAnalyser() native; |
280 | 264 |
281 @DomName('AudioContext.createBiquadFilter') | 265 @DomName('AudioContext.createBiquadFilter') |
282 @DocsEditable() | 266 @DocsEditable() |
283 BiquadFilterNode createBiquadFilter() native; | 267 BiquadFilterNode createBiquadFilter() native; |
284 | 268 |
285 @DomName('AudioContext.createBuffer') | 269 @DomName('AudioContext.createBuffer') |
286 @DocsEditable() | 270 @DocsEditable() |
287 AudioBuffer createBuffer(int numberOfChannels, int numberOfFrames, num sampleR
ate) native; | 271 AudioBuffer createBuffer(int numberOfChannels, int numberOfFrames, num sampleR
ate) native; |
288 | 272 |
289 @JSName('createBuffer') | |
290 @DomName('AudioContext.createBuffer') | |
291 @DocsEditable() | |
292 AudioBuffer createBufferFromBuffer(ByteBuffer buffer, bool mixToMono) native; | |
293 | |
294 @DomName('AudioContext.createBufferSource') | 273 @DomName('AudioContext.createBufferSource') |
295 @DocsEditable() | 274 @DocsEditable() |
296 AudioBufferSourceNode createBufferSource() native; | 275 AudioBufferSourceNode createBufferSource() native; |
297 | 276 |
298 @DomName('AudioContext.createChannelMerger') | 277 @DomName('AudioContext.createChannelMerger') |
299 @DocsEditable() | 278 @DocsEditable() |
300 ChannelMergerNode createChannelMerger([int numberOfInputs]) native; | 279 ChannelMergerNode createChannelMerger([int numberOfInputs]) native; |
301 | 280 |
302 @DomName('AudioContext.createChannelSplitter') | 281 @DomName('AudioContext.createChannelSplitter') |
303 @DocsEditable() | 282 @DocsEditable() |
304 ChannelSplitterNode createChannelSplitter([int numberOfOutputs]) native; | 283 ChannelSplitterNode createChannelSplitter([int numberOfOutputs]) native; |
305 | 284 |
306 @DomName('AudioContext.createConvolver') | 285 @DomName('AudioContext.createConvolver') |
307 @DocsEditable() | 286 @DocsEditable() |
308 ConvolverNode createConvolver() native; | 287 ConvolverNode createConvolver() native; |
309 | 288 |
310 @DomName('AudioContext.createDelay') | 289 @DomName('AudioContext.createDelay') |
311 @DocsEditable() | 290 @DocsEditable() |
312 DelayNode createDelay([num maxDelayTime]) native; | 291 DelayNode createDelay([num maxDelayTime]) native; |
313 | 292 |
314 @DomName('AudioContext.createDelayNode') | |
315 @DocsEditable() | |
316 DelayNode createDelayNode([num maxDelayTime]) native; | |
317 | |
318 @DomName('AudioContext.createDynamicsCompressor') | 293 @DomName('AudioContext.createDynamicsCompressor') |
319 @DocsEditable() | 294 @DocsEditable() |
320 DynamicsCompressorNode createDynamicsCompressor() native; | 295 DynamicsCompressorNode createDynamicsCompressor() native; |
321 | 296 |
322 @DomName('AudioContext.createGainNode') | |
323 @DocsEditable() | |
324 GainNode createGainNode() native; | |
325 | |
326 @DomName('AudioContext.createJavaScriptNode') | |
327 @DocsEditable() | |
328 ScriptProcessorNode createJavaScriptNode(int bufferSize, [int numberOfInputCha
nnels, int numberOfOutputChannels]) native; | |
329 | |
330 @DomName('AudioContext.createMediaElementSource') | 297 @DomName('AudioContext.createMediaElementSource') |
331 @DocsEditable() | 298 @DocsEditable() |
332 MediaElementAudioSourceNode createMediaElementSource(MediaElement mediaElement
) native; | 299 MediaElementAudioSourceNode createMediaElementSource(MediaElement mediaElement
) native; |
333 | 300 |
334 @DomName('AudioContext.createMediaStreamDestination') | 301 @DomName('AudioContext.createMediaStreamDestination') |
335 @DocsEditable() | 302 @DocsEditable() |
336 MediaStreamAudioDestinationNode createMediaStreamDestination() native; | 303 MediaStreamAudioDestinationNode createMediaStreamDestination() native; |
337 | 304 |
338 @DomName('AudioContext.createMediaStreamSource') | 305 @DomName('AudioContext.createMediaStreamSource') |
339 @DocsEditable() | 306 @DocsEditable() |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
560 void exponentialRampToValueAtTime(num value, num time) native; | 527 void exponentialRampToValueAtTime(num value, num time) native; |
561 | 528 |
562 @DomName('AudioParam.linearRampToValueAtTime') | 529 @DomName('AudioParam.linearRampToValueAtTime') |
563 @DocsEditable() | 530 @DocsEditable() |
564 void linearRampToValueAtTime(num value, num time) native; | 531 void linearRampToValueAtTime(num value, num time) native; |
565 | 532 |
566 @DomName('AudioParam.setTargetAtTime') | 533 @DomName('AudioParam.setTargetAtTime') |
567 @DocsEditable() | 534 @DocsEditable() |
568 void setTargetAtTime(num target, num time, num timeConstant) native; | 535 void setTargetAtTime(num target, num time, num timeConstant) native; |
569 | 536 |
570 @DomName('AudioParam.setTargetValueAtTime') | |
571 @DocsEditable() | |
572 void setTargetValueAtTime(num targetValue, num time, num timeConstant) native; | |
573 | |
574 @DomName('AudioParam.setValueAtTime') | 537 @DomName('AudioParam.setValueAtTime') |
575 @DocsEditable() | 538 @DocsEditable() |
576 void setValueAtTime(num value, num time) native; | 539 void setValueAtTime(num value, num time) native; |
577 | 540 |
578 @DomName('AudioParam.setValueCurveAtTime') | 541 @DomName('AudioParam.setValueCurveAtTime') |
579 @DocsEditable() | 542 @DocsEditable() |
580 void setValueCurveAtTime(Float32List values, num time, num duration) native; | 543 void setValueCurveAtTime(Float32List values, num time, num duration) native; |
581 } | 544 } |
582 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 545 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
583 // for details. All rights reserved. Use of this source code is governed by a | 546 // for details. All rights reserved. Use of this source code is governed by a |
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
930 static const int UNSCHEDULED_STATE = 0; | 893 static const int UNSCHEDULED_STATE = 0; |
931 | 894 |
932 @DomName('OscillatorNode.detune') | 895 @DomName('OscillatorNode.detune') |
933 @DocsEditable() | 896 @DocsEditable() |
934 final AudioParam detune; | 897 final AudioParam detune; |
935 | 898 |
936 @DomName('OscillatorNode.frequency') | 899 @DomName('OscillatorNode.frequency') |
937 @DocsEditable() | 900 @DocsEditable() |
938 final AudioParam frequency; | 901 final AudioParam frequency; |
939 | 902 |
940 @DomName('OscillatorNode.playbackState') | |
941 @DocsEditable() | |
942 final int playbackState; | |
943 | |
944 @DomName('OscillatorNode.type') | 903 @DomName('OscillatorNode.type') |
945 @DocsEditable() | 904 @DocsEditable() |
946 String type; | 905 String type; |
947 | 906 |
948 @DomName('OscillatorNode.noteOff') | 907 @DomName('OscillatorNode.noteOff') |
949 @DocsEditable() | 908 @DocsEditable() |
950 void noteOff(num when) native; | 909 void noteOff(num when) native; |
951 | 910 |
952 @DomName('OscillatorNode.noteOn') | 911 @DomName('OscillatorNode.noteOn') |
953 @DocsEditable() | 912 @DocsEditable() |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1096 factory WaveShaperNode._() { throw new UnsupportedError("Not supported"); } | 1055 factory WaveShaperNode._() { throw new UnsupportedError("Not supported"); } |
1097 | 1056 |
1098 @DomName('WaveShaperNode.curve') | 1057 @DomName('WaveShaperNode.curve') |
1099 @DocsEditable() | 1058 @DocsEditable() |
1100 Float32List curve; | 1059 Float32List curve; |
1101 | 1060 |
1102 @DomName('WaveShaperNode.oversample') | 1061 @DomName('WaveShaperNode.oversample') |
1103 @DocsEditable() | 1062 @DocsEditable() |
1104 String oversample; | 1063 String oversample; |
1105 } | 1064 } |
OLD | NEW |