ios player.js never returns status 200 when reading mid file
For ios device + ionic(cordova) players, player.js, line 135, XMLHTTPREQUEST will never return status 200 for local files 'file://', see here: http://forums.mozillazine.org/viewtopic.php?f=19&t=437186
please replace with this:
fetch.onreadystatechange = function() { if (this.readyState === 4) { //console.log(this.responseText) //if (this.status === 200) { try { var t = this.responseText || ''; var ff = []; var mx = t.length; var scc = String.fromCharCode; for (var z = 0; z < mx; z++) { ff[z] = scc(t.charCodeAt(z) & 255); } /// var data = ff.join(''); console.log(data) midi.currentData = data; midi.loadMidiFile(onsuccess, onprogress, onerror); //} else { // console.log('error status: ' + this.status) // onerror && onerror('Unable to load MIDI file'); //} }catch(err){ onerror && onerror('Unable to load MIDI file: ' + err); } } };