UNPKG

polyfill-service

Version:
1 lines 3.04 kB
{"aliases":["caniuse:audio-api","modernizr:webaudio"],"docs":"https://developer.mozilla.org/en-US/docs/Web/API/AudioContext","baseDir":"AudioContext","hasTests":false,"rawSource":"\n// AudioContext\n(function (global) {\n\tvar\n\t// <Global>.AudioContext\n\tAudioContext = global.AudioContext = global.AudioContext || global.webkitAudioContext,\n\tAudioContextPrototype = AudioContext.prototype;\n\n\tObject.defineProperties(AudioContextPrototype, {\n\t\tcreateGain: {\n\t\t\tvalue: AudioContextPrototype.createGain || AudioContextPrototype.createGainNode\n\t\t},\n\t\tcreateDelay: {\n\t\t\tvalue: AudioContextPrototype.createDelay|| AudioContextPrototype.createDelayNode\n\t\t},\n\t\tcreateScriptProcessor: {\n\t\t\tvalue: AudioContextPrototype.createScriptProcessor || AudioContextPrototype.createJavaScriptNode\n\t\t}\n\t});\n\n\tvar\n\taudioContext = new AudioContext(),\n\toscillatorPrototype = audioContext.createOscillator().constructor.prototype,\n\tbufferSourcePrototype = audioContext.createBufferSource().constructor.prototype,\n\tgainGainConstructorPrototype = audioContext.createGain().gain.constructor.prototype;\n\n\tObject.defineProperties(oscillatorPrototype, {\n\t\tsetPeriodicWave: {\n\t\t\tvalue: oscillatorPrototype.setPeriodicWave || oscillatorPrototype.setWaveTable\n\t\t},\n\t\tstart: {\n\t\t\tvalue: oscillatorPrototype.start || oscillatorPrototype.noteOn\n\t\t},\n\t\tstop: {\n\t\t\tvalue: oscillatorPrototype.stop || oscillatorPrototype.noteOff\n\t\t}\n\t});\n\n\tObject.defineProperties(bufferSourcePrototype, {\n\t\tstart: {\n\t\t\tvalue: bufferSourcePrototype.start || function start() {\n\t\t\t\treturn arguments.length > 1 ? bufferSourcePrototype.noteGrainOn.apply(this, arguments) : bufferSourcePrototype.noteOn.apply(this, arguments);\n\t\t\t}\n\t\t},\n\t\tstop: {\n\t\t\tvalue: bufferSourcePrototype.stop || bufferSourcePrototype.noteOff\n\t\t}\n\t});\n\n\tObject.defineProperties(gainGainConstructorPrototype, {\n\t\tsetTargetAtTime: {\n\t\t\tvalue: gainGainConstructorPrototype.setTargetAtTime || gainGainConstructorPrototype.setTargetValueAtTime\n\t\t}\n\t});\n})();\n","minSource":"!function(e){var t=e.AudioContext=e.AudioContext||e.webkitAudioContext,r=t.prototype;Object.defineProperties(r,{createGain:{value:r.createGain||r.createGainNode},createDelay:{value:r.createDelay||r.createDelayNode},createScriptProcessor:{value:r.createScriptProcessor||r.createJavaScriptNode}});var a=new t,o=a.createOscillator().constructor.prototype,c=a.createBufferSource().constructor.prototype,i=a.createGain().gain.constructor.prototype;Object.defineProperties(o,{setPeriodicWave:{value:o.setPeriodicWave||o.setWaveTable},start:{value:o.start||o.noteOn},stop:{value:o.stop||o.noteOff}}),Object.defineProperties(c,{start:{value:c.start||function(){return arguments.length>1?c.noteGrainOn.apply(this,arguments):c.noteOn.apply(this,arguments)}},stop:{value:c.stop||c.noteOff}}),Object.defineProperties(i,{setTargetAtTime:{value:i.setTargetAtTime||i.setTargetValueAtTime}})}();","detectSource":"'AudioContext' in this"}