Merge pull request #44 from LoveEevee/fix-audioctx-safari

SoundBuffer: Fix AudioContext on Safari again
This commit is contained in:
Bui 2018-10-07 07:30:50 +01:00 committed by GitHub
commit b454059c07

View File

@ -3,7 +3,7 @@
var AudioContext = window.AudioContext || window.webkitAudioContext var AudioContext = window.AudioContext || window.webkitAudioContext
this.context = new AudioContext() this.context = new AudioContext()
pageEvents.once(window, "click").then(() => { pageEvents.once(window, "click").then(() => {
if(this.context.state == "suspended"){ if(this.context.state === "suspended"){
this.context.resume() this.context.resume()
} }
}) })
@ -12,7 +12,9 @@
return loader.ajax(url, request => { return loader.ajax(url, request => {
request.responseType = "arraybuffer" request.responseType = "arraybuffer"
}).then(response => { }).then(response => {
return this.context.decodeAudioData(response) return new Promise((resolve, reject) => {
return this.context.decodeAudioData(response, resolve, reject)
})
}).then(buffer => { }).then(buffer => {
return new Sound(gain || {soundBuffer: this}, buffer) return new Sound(gain || {soundBuffer: this}, buffer)
}) })