diff --git a/js/libs/midi/AudioDetect.js b/js/libs/midi/AudioDetect.js new file mode 100755 index 0000000..16d8c0a --- /dev/null +++ b/js/libs/midi/AudioDetect.js @@ -0,0 +1,57 @@ +if (typeof(MIDI) === "undefined") var MIDI = {}; + +(function() { "use strict"; + +var supports = {}; +var pending = 0; +var canPlayThrough = function (src) { + pending ++; + var audio = new Audio(); + var mime = src.split(";")[0]; + audio.id = "audio"; + audio.setAttribute("preload", "auto"); + audio.setAttribute("audiobuffer", true); + audio.addEventListener("error", function() { + supports[mime] = false; + pending --; + }, false); + audio.addEventListener("canplaythrough", function() { + supports[mime] = true; + pending --; + }, false); + audio.src = "data:" + src; + document.body.appendChild(audio); +}; + +MIDI.audioDetect = function(callback) { + // check whether