diff --git a/common/engine/Loader.js b/common/engine/Loader.js index 6120227..3cc1807 100644 --- a/common/engine/Loader.js +++ b/common/engine/Loader.js @@ -83,7 +83,7 @@ function downloadImage (item, callback, isCrossOrigin) { function downloadAudio (item, callback) { if (cc.sys.__audioSupport.format.length === 0) { - return new Error(debug.getError(4927)); + return new Error(cc.debug.getError(4927)); } var dom = document.createElement('audio'); diff --git a/common/engine/globalAdapter/BaseSystemInfo.js b/common/engine/globalAdapter/BaseSystemInfo.js index a28e9b3..05b6610 100644 --- a/common/engine/globalAdapter/BaseSystemInfo.js +++ b/common/engine/globalAdapter/BaseSystemInfo.js @@ -14,13 +14,15 @@ let systemInfo = { sys.languageCode = env.language.toLowerCase(); var system = env.system.toLowerCase(); - if (env.platform === "android") { + let platform = env.platform; + platform = platform.toLowerCase(); + if (platform === "android") { sys.os = sys.OS_ANDROID; } - else if (env.platform === "ios") { + else if (platform === "ios") { sys.os = sys.OS_IOS; } - else if (env.platform === 'devtools') { + else if (platform === 'devtools') { sys.isMobile = false; if (system.indexOf('android') > -1) { sys.os = sys.OS_ANDROID; diff --git a/platforms/alipay/wrapper/engine/Loader.js b/platforms/alipay/wrapper/engine/Loader.js index 40bab53..814b4d4 100644 --- a/platforms/alipay/wrapper/engine/Loader.js +++ b/platforms/alipay/wrapper/engine/Loader.js @@ -7,4 +7,30 @@ cc.loader.downloader.loadSubpackage = function (name, completeCallback) { loadedSubPackages[name] = true; } completeCallback && completeCallback(); -}; \ No newline at end of file +}; + +function downloadAudio (item, callback) { + if (cc.sys.__audioSupport.format.length === 0) { + return new Error(cc.debug.getError(4927)); + } + + let audio = my.createInnerAudioContext(); + audio.onCanPlay(() => { + callback(null, audio); + }); + audio.onError(() => { + callback(new Error('load audio failed ' + item.url), null); + }); + audio.src = item.url; +} + +// FIX audio downlaod error on Alipay iOS 10.1.78 +if (cc.sys.os === cc.sys.OS_IOS) { + cc.loader.downloader.addHandlers({ + // Audio + mp3 : downloadAudio, + ogg : downloadAudio, + wav : downloadAudio, + m4a : downloadAudio, + }); +} \ No newline at end of file