(function () { function neuter(proto) { if (!proto) return; proto.createBufferSource = function () { return { connect: function () {}, disconnect: function () {}, start: function () {}, stop: function () {}, buffer: null }; }; } neuter(window.AudioContext && window.AudioContext.prototype); neuter(window.webkitAudioContext && window.webkitAudioContext.prototype); window.playAudio = function () { return Promise.resolve(); }; })();