ef6273cba0
This is a migration of 13 Chrome release about 1.5 years of Chrome releases. Update PYTHON scripts for cleaner and easier rolling. Here's a doc on the changes that might affect Dart users: https://docs.google.com/document/d/1Kj0nk3SueO3JKub8im7z3znu9j5oiI7vf49ejZrMxuE/edit# Change-Id: I768fbd09b04fe6884af36ac102d5813f67bae426 Reviewed-on: https://dart-review.googlesource.com/24501 Commit-Queue: Terry Lucas <terry@google.com> Reviewed-by: Terry Lucas <terry@google.com>
71 lines
2.3 KiB
Plaintext
71 lines
2.3 KiB
Plaintext
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
part of web_audio;
|
|
|
|
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
|
$!MEMBERS
|
|
factory AudioContext() => JS('AudioContext',
|
|
'new (window.AudioContext || window.webkitAudioContext)()');
|
|
|
|
GainNode createGain() {
|
|
if (JS('bool', '#.createGain !== undefined', this)) {
|
|
return JS('GainNode', '#.createGain()', this);
|
|
} else {
|
|
return JS('GainNode', '#.createGainNode()', this);
|
|
}
|
|
}
|
|
|
|
ScriptProcessorNode createScriptProcessor([int bufferSize,
|
|
int numberOfInputChannels, int numberOfOutputChannels]) {
|
|
var function = JS(
|
|
'=Object',
|
|
'#.createScriptProcessor || '
|
|
'#.createJavaScriptNode',
|
|
this,
|
|
this);
|
|
if (numberOfOutputChannels != null) {
|
|
return JS('ScriptProcessorNode', '#.call(#, #, #, #)', function, this,
|
|
bufferSize, numberOfInputChannels, numberOfOutputChannels);
|
|
} else if (numberOfInputChannels != null) {
|
|
return JS('ScriptProcessorNode', '#.call(#, #, #)', function, this,
|
|
bufferSize, numberOfInputChannels);
|
|
} else if (bufferSize != null) {
|
|
return JS(
|
|
'ScriptProcessorNode', '#.call(#, #)', function, this, bufferSize);
|
|
} else {
|
|
return JS(
|
|
'ScriptProcessorNode', '#.call(#)', function, this);
|
|
}
|
|
}
|
|
|
|
@JSName('decodeAudioData')
|
|
@DomName('AudioContext.decodeAudioData')
|
|
@DocsEditable()
|
|
Future _decodeAudioData(ByteBuffer audioData,
|
|
[DecodeSuccessCallback successCallback,
|
|
DecodeErrorCallback errorCallback]) native;
|
|
|
|
@DomName('AudioContext.decodeAudioData')
|
|
Future<AudioBuffer> decodeAudioData(ByteBuffer audioData,
|
|
[DecodeSuccessCallback successCallback,
|
|
DecodeErrorCallback errorCallback]) {
|
|
if (successCallback != null && errorCallback != null) {
|
|
return _decodeAudioData(audioData, successCallback, errorCallback);
|
|
}
|
|
|
|
var completer = new Completer<AudioBuffer>();
|
|
_decodeAudioData(audioData, (value) {
|
|
completer.complete(value);
|
|
}, (error) {
|
|
if (error == null) {
|
|
completer.completeError('');
|
|
} else {
|
|
completer.completeError(error);
|
|
}
|
|
});
|
|
return completer.future;
|
|
}
|
|
}
|