web-audio-test-api
Version:
Web Audio API test library for CI
565 lines (446 loc) • 29.4 kB
JavaScript
;
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _dec23, _dec24, _dec25, _dec26, _dec27, _dec28, _dec29, _dec30, _dec31, _dec32, _dec33, _dec34, _dec35, _dec36, _dec37, _dec38, _dec39, _dec40, _dec41, _dec42, _dec43, _dec44, _dec45, _dec46, _desc, _value, _class;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _Configuration = require("./utils/Configuration");
var _Configuration2 = _interopRequireDefault(_Configuration);
var _Immigration = require("./utils/Immigration");
var _Immigration2 = _interopRequireDefault(_Immigration);
var _Event = require("./dom/Event");
var _Event2 = _interopRequireDefault(_Event);
var _EventTarget2 = require("./dom/EventTarget");
var _EventTarget3 = _interopRequireDefault(_EventTarget2);
var _HTMLMediaElement = require("./dom/HTMLMediaElement");
var _HTMLMediaElement2 = _interopRequireDefault(_HTMLMediaElement);
var _MediaStream = require("./dom/MediaStream");
var _MediaStream2 = _interopRequireDefault(_MediaStream);
var _AudioBuffer = require("./AudioBuffer");
var _AudioBuffer2 = _interopRequireDefault(_AudioBuffer);
var _AnalyserNode = require("./AnalyserNode");
var _AnalyserNode2 = _interopRequireDefault(_AnalyserNode);
var _AudioBufferSourceNode = require("./AudioBufferSourceNode");
var _AudioBufferSourceNode2 = _interopRequireDefault(_AudioBufferSourceNode);
var _AudioDestinationNode = require("./AudioDestinationNode");
var _AudioDestinationNode2 = _interopRequireDefault(_AudioDestinationNode);
var _AudioListener = require("./AudioListener");
var _AudioListener2 = _interopRequireDefault(_AudioListener);
var _BiquadFilterNode = require("./BiquadFilterNode");
var _BiquadFilterNode2 = _interopRequireDefault(_BiquadFilterNode);
var _ChannelMergerNode = require("./ChannelMergerNode");
var _ChannelMergerNode2 = _interopRequireDefault(_ChannelMergerNode);
var _ChannelSplitterNode = require("./ChannelSplitterNode");
var _ChannelSplitterNode2 = _interopRequireDefault(_ChannelSplitterNode);
var _ConvolverNode = require("./ConvolverNode");
var _ConvolverNode2 = _interopRequireDefault(_ConvolverNode);
var _DelayNode = require("./DelayNode");
var _DelayNode2 = _interopRequireDefault(_DelayNode);
var _DynamicsCompressorNode = require("./DynamicsCompressorNode");
var _DynamicsCompressorNode2 = _interopRequireDefault(_DynamicsCompressorNode);
var _GainNode = require("./GainNode");
var _GainNode2 = _interopRequireDefault(_GainNode);
var _MediaElementAudioSourceNode = require("./MediaElementAudioSourceNode");
var _MediaElementAudioSourceNode2 = _interopRequireDefault(_MediaElementAudioSourceNode);
var _MediaStreamAudioDestinationNode = require("./MediaStreamAudioDestinationNode");
var _MediaStreamAudioDestinationNode2 = _interopRequireDefault(_MediaStreamAudioDestinationNode);
var _MediaStreamAudioSourceNode = require("./MediaStreamAudioSourceNode");
var _MediaStreamAudioSourceNode2 = _interopRequireDefault(_MediaStreamAudioSourceNode);
var _OscillatorNode = require("./OscillatorNode");
var _OscillatorNode2 = _interopRequireDefault(_OscillatorNode);
var _PannerNode = require("./PannerNode");
var _PannerNode2 = _interopRequireDefault(_PannerNode);
var _PeriodicWave = require("./PeriodicWave");
var _PeriodicWave2 = _interopRequireDefault(_PeriodicWave);
var _ScriptProcessorNode = require("./ScriptProcessorNode");
var _ScriptProcessorNode2 = _interopRequireDefault(_ScriptProcessorNode);
var _StereoPannerNode = require("./StereoPannerNode");
var _StereoPannerNode2 = _interopRequireDefault(_StereoPannerNode);
var _WaveShaperNode = require("./WaveShaperNode");
var _WaveShaperNode2 = _interopRequireDefault(_WaveShaperNode);
var _getAPIVersion = require("./utils/getAPIVersion");
var _getAPIVersion2 = _interopRequireDefault(_getAPIVersion);
var _defaults = require("./utils/defaults");
var _defaults2 = _interopRequireDefault(_defaults);
var _toMicroseconds = require("./utils/toMicroseconds");
var _toMicroseconds2 = _interopRequireDefault(_toMicroseconds);
var _props = require("./decorators/props");
var props = _interopRequireWildcard(_props);
var _methods = require("./decorators/methods");
var methods = _interopRequireWildcard(_methods);
var _validators = require("./validators");
var validators = _interopRequireWildcard(_validators);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var configuration = _Configuration2.default.getInstance();
var immigration = _Immigration2.default.getInstance();
function isEnabledState() {
return configuration.getState("AudioContext#suspend") === "enabled" || configuration.getState("AudioContext#resume") === "enabled" || configuration.getState("AudioContext#close") === "enabled";
}
var AudioContext = (_dec = props.readonly(), _dec2 = props.readonly(), _dec3 = props.readonly(), _dec4 = props.readonly(), _dec5 = props.on("statechange"), _dec6 = methods.returns(validators.isInstanceOf(Promise)), _dec7 = methods.returns(validators.isInstanceOf(Promise)), _dec8 = methods.returns(validators.isInstanceOf(Promise)), _dec9 = methods.param("numberOfChannels", validators.isPositiveInteger), _dec10 = methods.param("length", validators.isPositiveInteger), _dec11 = methods.param("sampleRate", validators.isPositiveInteger), _dec12 = methods.returns(validators.isInstanceOf(_AudioBuffer2.default)), _dec13 = methods.param("audioData", validators.isInstanceOf(ArrayBuffer)), _dec14 = methods.param("[ successCallback ]", validators.isFunction), _dec15 = methods.param("[ errorCallback ]", validators.isFunction), _dec16 = methods.returns(validators.isInstanceOf(_AudioBufferSourceNode2.default)), _dec17 = methods.param("mediaElement", validators.isInstanceOf(_HTMLMediaElement2.default)), _dec18 = methods.returns(validators.isInstanceOf(_MediaElementAudioSourceNode2.default)), _dec19 = methods.param("mediaStream", validators.isInstanceOf(_MediaStream2.default)), _dec20 = methods.returns(validators.isInstanceOf(_MediaStreamAudioSourceNode2.default)), _dec21 = methods.returns(validators.isInstanceOf(_MediaStreamAudioDestinationNode2.default)), _dec22 = methods.contract({
precondition: function precondition() {
throw new TypeError("not enabled");
}
}), _dec23 = methods.param("bufferSize", validators.isPositiveInteger), _dec24 = methods.param("[ numberOfInputChannels ]", validators.isPositiveInteger), _dec25 = methods.param("[ numberOfOutputChannels ]", validators.isPositiveInteger), _dec26 = methods.returns(validators.isInstanceOf(_ScriptProcessorNode2.default)), _dec27 = methods.returns(validators.isInstanceOf(_AnalyserNode2.default)), _dec28 = methods.returns(validators.isInstanceOf(_GainNode2.default)), _dec29 = methods.param("[ maxDelayTime ]", validators.isPositiveNumber), _dec30 = methods.returns(validators.isInstanceOf(_DelayNode2.default)), _dec31 = methods.returns(validators.isInstanceOf(_BiquadFilterNode2.default)), _dec32 = methods.returns(validators.isInstanceOf(_WaveShaperNode2.default)), _dec33 = methods.returns(validators.isInstanceOf(_PannerNode2.default)), _dec34 = methods.contract({
precondition: function precondition() {
if (configuration.getState("AudioContext#createStereoPanner") !== "enabled") {
throw new TypeError("not enabled");
}
}
}), _dec35 = methods.returns(validators.isInstanceOf(_StereoPannerNode2.default)), _dec36 = methods.returns(validators.isInstanceOf(_ConvolverNode2.default)), _dec37 = methods.param("[ numberOfOutputs ]", validators.isPositiveInteger), _dec38 = methods.returns(validators.isInstanceOf(_ChannelSplitterNode2.default)), _dec39 = methods.param("[ numberOfInputs ]", validators.isPositiveInteger), _dec40 = methods.returns(validators.isInstanceOf(_ChannelMergerNode2.default)), _dec41 = methods.returns(validators.isInstanceOf(_DynamicsCompressorNode2.default)), _dec42 = methods.returns(validators.isInstanceOf(_OscillatorNode2.default)), _dec43 = methods.param("real", validators.isInstanceOf(Float32Array)), _dec44 = methods.param("imag", validators.isInstanceOf(Float32Array)), _dec45 = methods.returns(validators.isInstanceOf(_PeriodicWave2.default)), _dec46 = methods.contract({
precondition: function precondition(methodName) {
if (configuration.getState("AudioContext#" + methodName) !== "enabled") {
throw new TypeError("not enabled");
}
}
}), (_class = (function (_EventTarget) {
_inherits(AudioContext, _EventTarget);
function AudioContext() {
_classCallCheck(this, AudioContext);
var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(AudioContext).call(this));
Object.defineProperty(_this, "_", { value: {} });
_this._.destination = immigration.apply(function (admission) {
return new _AudioDestinationNode2.default(admission, _this);
});
_this._.sampleRate = global.WebAudioTestAPI.sampleRate;
_this._.listener = immigration.apply(function (admission) {
return new _AudioListener2.default(admission, _this);
});
_this._.microCurrentTime = 0;
_this._.processedSamples = 0;
_this._.tick = 0;
_this._.state = "running";
return _this;
}
_createClass(AudioContext, [{
key: "destination",
value: function destination() {
return this._.destination;
}
}, {
key: "sampleRate",
value: function sampleRate() {
return this._.sampleRate;
}
}, {
key: "currentTime",
value: function currentTime() {
return this._.microCurrentTime / (1000 * 1000);
}
}, {
key: "listener",
value: function listener() {
return this._.listener;
}
}, {
key: "onstatechange",
value: function onstatechange() {}
}, {
key: "suspend",
value: function suspend() {
var _this2 = this;
return this.__transitionToState("suspend", function () {
if (_this2._.state === "running") {
_this2._.state = "suspended";
_this2.dispatchEvent(new _Event2.default("statechange", _this2));
}
});
}
}, {
key: "resume",
value: function resume() {
var _this3 = this;
return this.__transitionToState("resume", function () {
if (_this3._.state === "suspended") {
_this3._.state = "running";
_this3.dispatchEvent(new _Event2.default("statechange", _this3));
}
});
}
}, {
key: "close",
value: function close() {
var _this4 = this;
return this.__transitionToState("close", function () {
if (_this4._.state !== "closed") {
_this4._.state = "closed";
_this4.$reset();
_this4.dispatchEvent(new _Event2.default("statechange", _this4));
}
});
}
}, {
key: "createBuffer",
value: function createBuffer(numberOfChannels, length, sampleRate) {
var _this5 = this;
return immigration.apply(function (admission) {
return new _AudioBuffer2.default(admission, _this5, numberOfChannels, length, sampleRate);
});
}
}, {
key: "decodeAudioData",
value: function decodeAudioData(audioData, successCallback, errorCallback) {
var _this6 = this;
var isPromiseBased = configuration.getState("AudioContext#decodeAudioData") === "promise";
if (isPromiseBased) {
successCallback = (0, _defaults2.default)(successCallback, function () {});
errorCallback = (0, _defaults2.default)(errorCallback, function () {});
} else {
errorCallback = (0, _defaults2.default)(errorCallback, function () {});
}
var promise = new Promise(function (resolve, reject) {
if (_this6.DECODE_AUDIO_DATA_FAILED) {
reject();
} else {
resolve(_this6.DECODE_AUDIO_DATA_RESULT || immigration.apply(function (admission) {
return new _AudioBuffer2.default(admission, _this6, 2, 1024, _this6.sampleRate);
}));
}
});
promise.then(successCallback, errorCallback);
if (isPromiseBased) {
return promise;
}
}
}, {
key: "createBufferSource",
value: function createBufferSource() {
var _this7 = this;
return immigration.apply(function (admission) {
return new _AudioBufferSourceNode2.default(admission, _this7);
});
}
}, {
key: "createMediaElementSource",
value: function createMediaElementSource(mediaElement) {
var _this8 = this;
return immigration.apply(function (admission) {
return new _MediaElementAudioSourceNode2.default(admission, _this8, mediaElement);
});
}
}, {
key: "createMediaStreamSource",
value: function createMediaStreamSource(mediaStream) {
var _this9 = this;
return immigration.apply(function (admission) {
return new _MediaStreamAudioSourceNode2.default(admission, _this9, mediaStream);
});
}
}, {
key: "createMediaStreamDestination",
value: function createMediaStreamDestination() {
var _this10 = this;
return immigration.apply(function (admission) {
return new _MediaStreamAudioDestinationNode2.default(admission, _this10);
});
}
}, {
key: "createAudioWorker",
value: function createAudioWorker() {}
}, {
key: "createScriptProcessor",
value: function createScriptProcessor(bufferSize) {
var _this11 = this;
var numberOfInputChannels = arguments.length <= 1 || arguments[1] === undefined ? 2 : arguments[1];
var numberOfOutputChannels = arguments.length <= 2 || arguments[2] === undefined ? 2 : arguments[2];
return immigration.apply(function (admission) {
return new _ScriptProcessorNode2.default(admission, _this11, bufferSize, numberOfInputChannels, numberOfOutputChannels);
});
}
}, {
key: "createAnalyser",
value: function createAnalyser() {
var _this12 = this;
return immigration.apply(function (admission) {
return new _AnalyserNode2.default(admission, _this12);
});
}
}, {
key: "createGain",
value: function createGain() {
var _this13 = this;
return immigration.apply(function (admission) {
return new _GainNode2.default(admission, _this13);
});
}
}, {
key: "createDelay",
value: function createDelay() {
var _this14 = this;
var maxDelayTime = arguments.length <= 0 || arguments[0] === undefined ? 1 : arguments[0];
return immigration.apply(function (admission) {
return new _DelayNode2.default(admission, _this14, maxDelayTime);
});
}
}, {
key: "createBiquadFilter",
value: function createBiquadFilter() {
var _this15 = this;
return immigration.apply(function (admission) {
return new _BiquadFilterNode2.default(admission, _this15);
});
}
}, {
key: "createWaveShaper",
value: function createWaveShaper() {
var _this16 = this;
return immigration.apply(function (admission) {
return new _WaveShaperNode2.default(admission, _this16);
});
}
}, {
key: "createPanner",
value: function createPanner() {
var _this17 = this;
return immigration.apply(function (admission) {
return new _PannerNode2.default(admission, _this17);
});
}
}, {
key: "createStereoPanner",
value: function createStereoPanner() {
var _this18 = this;
return immigration.apply(function (admission) {
return new _StereoPannerNode2.default(admission, _this18);
});
}
}, {
key: "createConvolver",
value: function createConvolver() {
var _this19 = this;
return immigration.apply(function (admission) {
return new _ConvolverNode2.default(admission, _this19);
});
}
}, {
key: "createChannelSplitter",
value: function createChannelSplitter() {
var _this20 = this;
var numberOfOutputs = arguments.length <= 0 || arguments[0] === undefined ? 6 : arguments[0];
return immigration.apply(function (admission) {
return new _ChannelSplitterNode2.default(admission, _this20, numberOfOutputs);
});
}
}, {
key: "createChannelMerger",
value: function createChannelMerger() {
var _this21 = this;
var numberOfInputs = arguments.length <= 0 || arguments[0] === undefined ? 6 : arguments[0];
return immigration.apply(function (admission) {
return new _ChannelMergerNode2.default(admission, _this21, numberOfInputs);
});
}
}, {
key: "createDynamicsCompressor",
value: function createDynamicsCompressor() {
var _this22 = this;
return immigration.apply(function (admission) {
return new _DynamicsCompressorNode2.default(admission, _this22);
});
}
}, {
key: "createOscillator",
value: function createOscillator() {
var _this23 = this;
return immigration.apply(function (admission) {
return new _OscillatorNode2.default(admission, _this23);
});
}
}, {
key: "createPeriodicWave",
value: function createPeriodicWave(real, imag) {
var _this24 = this;
return immigration.apply(function (admission) {
return new _PeriodicWave2.default(admission, _this24, real, imag);
});
}
}, {
key: "__transitionToState",
value: function __transitionToState(methodName, callback) {
var _this25 = this;
return new Promise(function (resolve) {
if (_this25._.state === "close") {
throw new TypeError("Cannot " + methodName + " a context that is being closed or has already been closed.");
}
callback();
resolve();
});
}
}, {
key: "toJSON",
value: function toJSON() {
return this.destination.toJSON([]);
}
}, {
key: "$process",
value: function $process(when) {
this.__process((0, _toMicroseconds2.default)(when));
}
}, {
key: "$processTo",
value: function $processTo(when) {
var time = (0, _toMicroseconds2.default)(when);
if (this._.microCurrentTime < time) {
this.__process(time - this._.microCurrentTime);
}
}
}, {
key: "$reset",
value: function $reset() {
this._.microCurrentTime = 0;
this._.processedSamples = 0;
this.destination.$inputs.forEach(function (junction) {
junction.inputs.forEach(function (junction) {
junction.disconnectAll();
});
});
}
}, {
key: "__process",
value: function __process(microseconds) {
var nextMicroCurrentTime = this._.microCurrentTime + microseconds;
while (this._.state === "running" && this._.microCurrentTime < nextMicroCurrentTime) {
var microCurrentTime = Math.min(this._.microCurrentTime + 1000, nextMicroCurrentTime);
var processedSamples = Math.floor(microCurrentTime / (1000 * 1000) * this.sampleRate);
var inNumSamples = processedSamples - this._.processedSamples;
this._.microCurrentTime = microCurrentTime;
this._.processedSamples = processedSamples;
this.destination.$process(inNumSamples, ++this._.tick);
}
}
}, {
key: "state",
get: function get() {
if (isEnabledState()) {
return this._.state;
}
},
set: function set(value) {
if (!isEnabledState(value)) {
return;
}
throw new TypeError(this.constructor.name + "; Attempt to assign to readonly property: \"state\"");
}
}, {
key: "$name",
get: function get() {
return "AudioContext";
}
}, {
key: "$context",
get: function get() {
return this;
}
}], [{
key: "WEB_AUDIO_TEST_API_VERSION",
get: function get() {
return (0, _getAPIVersion2.default)();
}
}]);
return AudioContext;
})(_EventTarget3.default), (_desc = _dec(_class.prototype, "destination", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "destination")) || _desc, _desc ? Object.defineProperty(_class.prototype, "destination", _desc) : void 0, _desc = _dec2(_class.prototype, "sampleRate", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "sampleRate")) || _desc, _desc ? Object.defineProperty(_class.prototype, "sampleRate", _desc) : void 0, _desc = _dec3(_class.prototype, "currentTime", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "currentTime")) || _desc, _desc ? Object.defineProperty(_class.prototype, "currentTime", _desc) : void 0, _desc = _dec4(_class.prototype, "listener", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "listener")) || _desc, _desc ? Object.defineProperty(_class.prototype, "listener", _desc) : void 0, _desc = _dec5(_class.prototype, "onstatechange", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "onstatechange")) || _desc, _desc ? Object.defineProperty(_class.prototype, "onstatechange", _desc) : void 0, _desc = _dec6(_class.prototype, "suspend", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "suspend")) || _desc, _desc ? Object.defineProperty(_class.prototype, "suspend", _desc) : void 0, _desc = _dec7(_class.prototype, "resume", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "resume")) || _desc, _desc ? Object.defineProperty(_class.prototype, "resume", _desc) : void 0, _desc = _dec8(_class.prototype, "close", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "close")) || _desc, _desc ? Object.defineProperty(_class.prototype, "close", _desc) : void 0, _desc = _dec9(_class.prototype, "createBuffer", _desc = _dec10(_class.prototype, "createBuffer", _desc = _dec11(_class.prototype, "createBuffer", _desc = _dec12(_class.prototype, "createBuffer", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createBuffer")) || _desc) || _desc) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createBuffer", _desc) : void 0, _desc = _dec13(_class.prototype, "decodeAudioData", _desc = _dec14(_class.prototype, "decodeAudioData", _desc = _dec15(_class.prototype, "decodeAudioData", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "decodeAudioData")) || _desc) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "decodeAudioData", _desc) : void 0, _desc = _dec16(_class.prototype, "createBufferSource", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createBufferSource")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createBufferSource", _desc) : void 0, _desc = _dec17(_class.prototype, "createMediaElementSource", _desc = _dec18(_class.prototype, "createMediaElementSource", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createMediaElementSource")) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createMediaElementSource", _desc) : void 0, _desc = _dec19(_class.prototype, "createMediaStreamSource", _desc = _dec20(_class.prototype, "createMediaStreamSource", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createMediaStreamSource")) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createMediaStreamSource", _desc) : void 0, _desc = _dec21(_class.prototype, "createMediaStreamDestination", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createMediaStreamDestination")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createMediaStreamDestination", _desc) : void 0, _desc = _dec22(_class.prototype, "createAudioWorker", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createAudioWorker")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createAudioWorker", _desc) : void 0, _desc = _dec23(_class.prototype, "createScriptProcessor", _desc = _dec24(_class.prototype, "createScriptProcessor", _desc = _dec25(_class.prototype, "createScriptProcessor", _desc = _dec26(_class.prototype, "createScriptProcessor", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createScriptProcessor")) || _desc) || _desc) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createScriptProcessor", _desc) : void 0, _desc = _dec27(_class.prototype, "createAnalyser", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createAnalyser")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createAnalyser", _desc) : void 0, _desc = _dec28(_class.prototype, "createGain", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createGain")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createGain", _desc) : void 0, _desc = _dec29(_class.prototype, "createDelay", _desc = _dec30(_class.prototype, "createDelay", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createDelay")) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createDelay", _desc) : void 0, _desc = _dec31(_class.prototype, "createBiquadFilter", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createBiquadFilter")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createBiquadFilter", _desc) : void 0, _desc = _dec32(_class.prototype, "createWaveShaper", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createWaveShaper")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createWaveShaper", _desc) : void 0, _desc = _dec33(_class.prototype, "createPanner", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createPanner")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createPanner", _desc) : void 0, _desc = _dec34(_class.prototype, "createStereoPanner", _desc = _dec35(_class.prototype, "createStereoPanner", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createStereoPanner")) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createStereoPanner", _desc) : void 0, _desc = _dec36(_class.prototype, "createConvolver", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createConvolver")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createConvolver", _desc) : void 0, _desc = _dec37(_class.prototype, "createChannelSplitter", _desc = _dec38(_class.prototype, "createChannelSplitter", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createChannelSplitter")) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createChannelSplitter", _desc) : void 0, _desc = _dec39(_class.prototype, "createChannelMerger", _desc = _dec40(_class.prototype, "createChannelMerger", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createChannelMerger")) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createChannelMerger", _desc) : void 0, _desc = _dec41(_class.prototype, "createDynamicsCompressor", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createDynamicsCompressor")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createDynamicsCompressor", _desc) : void 0, _desc = _dec42(_class.prototype, "createOscillator", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createOscillator")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createOscillator", _desc) : void 0, _desc = _dec43(_class.prototype, "createPeriodicWave", _desc = _dec44(_class.prototype, "createPeriodicWave", _desc = _dec45(_class.prototype, "createPeriodicWave", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createPeriodicWave")) || _desc) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createPeriodicWave", _desc) : void 0, _desc = _dec46(_class.prototype, "__transitionToState", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "__transitionToState")) || _desc, _desc ? Object.defineProperty(_class.prototype, "__transitionToState", _desc) : void 0), _class));
exports.default = AudioContext;