From 6bfb0d21ce7607653e8b4593d3e43caf54e8a74c Mon Sep 17 00:00:00 2001 From: Pavle Goloskokovic Date: Wed, 31 Jan 2018 14:07:03 +0100 Subject: [PATCH 1/3] Releasing audio context reference --- src/loader/filetypes/AudioFile.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/loader/filetypes/AudioFile.js b/src/loader/filetypes/AudioFile.js index 2c3cc0b73..23e2e865a 100644 --- a/src/loader/filetypes/AudioFile.js +++ b/src/loader/filetypes/AudioFile.js @@ -82,6 +82,8 @@ var AudioFile = new Class({ callback(_this); } ); + + this.context = null; } }); From 2f6d89c01a3f3a8a723c160abe2a2666f848bc57 Mon Sep 17 00:00:00 2001 From: Pavle Goloskokovic Date: Wed, 31 Jan 2018 14:07:57 +0100 Subject: [PATCH 2/3] Destroy updates --- src/sound/BaseSoundManager.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/sound/BaseSoundManager.js b/src/sound/BaseSoundManager.js index de5b4141e..efdb4f69e 100644 --- a/src/sound/BaseSoundManager.js +++ b/src/sound/BaseSoundManager.js @@ -96,7 +96,6 @@ var BaseSoundManager = new Class({ this.onFocus(); } }, this); - game.events.once('destroy', this.destroy, this); /** @@ -412,15 +411,12 @@ var BaseSoundManager = new Class({ destroy: function () { this.removeAllListeners(); - this.forEachActiveSound(function (sound) { sound.destroy(); }); - this.sounds.length = 0; this.sounds = null; - this.game = null; }, From cfefbdab5a79601c1d9f79835ec2a80508b97d5c Mon Sep 17 00:00:00 2001 From: Pavle Goloskokovic Date: Wed, 31 Jan 2018 14:09:01 +0100 Subject: [PATCH 3/3] Resuming audio context passed to audio config before returning it from createAudioContext method --- src/sound/webaudio/WebAudioSoundManager.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sound/webaudio/WebAudioSoundManager.js b/src/sound/webaudio/WebAudioSoundManager.js index 83a5054d2..f16ca2ed0 100644 --- a/src/sound/webaudio/WebAudioSoundManager.js +++ b/src/sound/webaudio/WebAudioSoundManager.js @@ -71,6 +71,7 @@ var WebAudioSoundManager = new Class({ var audioConfig = game.config.audio; if (audioConfig && audioConfig.context) { + audioConfig.context.resume(); return audioConfig.context; } return new AudioContext();