From aaaffbd1338c185a95e2c47d1f937775f13c075d Mon Sep 17 00:00:00 2001 From: Martin von Gagern Date: Thu, 15 Sep 2016 15:26:45 +0200 Subject: [PATCH] Consistently use webkitAudioContext as an alias for AudioContext This is required to support WebAudio on Safari at least till version 10, see http://caniuse.com/#feat=audio-api for use of this prefix. --- js/midi/loader.js | 4 ++-- js/midi/plugin.webaudio.js | 2 +- js/midi/plugin.webmidi.js | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/js/midi/loader.js b/js/midi/loader.js index 02136f66..e6bd9a72 100644 --- a/js/midi/loader.js +++ b/js/midi/loader.js @@ -55,9 +55,9 @@ MIDI.Player = MIDI.Player || {}; api = hash.substr(1); } else if (supports.webmidi) { api = 'webmidi'; - } else if (window.AudioContext) { // Chrome + } else if (window.AudioContext || window.webkitAudioContext) { api = 'webaudio'; - } else if (window.Audio) { // Firefox + } else if (window.Audio) { api = 'audiotag'; } diff --git a/js/midi/plugin.webaudio.js b/js/midi/plugin.webaudio.js index 15a6f0a7..6cb149e6 100644 --- a/js/midi/plugin.webaudio.js +++ b/js/midi/plugin.webaudio.js @@ -8,7 +8,7 @@ (function(root) { 'use strict'; - window.AudioContext && (function() { + (window.AudioContext || window.webkitAudioContext) && (function() { var audioContext = null; // new AudioContext(); var useStreamingBuffer = false; // !!audioContext.createMediaElementSource; var midi = root.WebAudio = {api: 'webaudio'}; diff --git a/js/midi/plugin.webmidi.js b/js/midi/plugin.webmidi.js index 33e244bd..4d1f33d1 100644 --- a/js/midi/plugin.webmidi.js +++ b/js/midi/plugin.webmidi.js @@ -64,9 +64,9 @@ midi.connect = function(opts) { root.setDefaultPlugin(midi); var errFunction = function(err) { // well at least we tried! - if (window.AudioContext) { // Chrome + if (window.AudioContext || window.webkitAudioContext) { opts.api = 'webaudio'; - } else if (window.Audio) { // Firefox + } else if (window.Audio) { opts.api = 'audiotag'; } else { // no support return;