Browse Source

Fix audio pause/resume mechanism

David Catuhe 6 years ago
parent
commit
eb0b032d9c
1 changed files with 8 additions and 0 deletions
  1. 8 0
      src/Audio/audioSceneComponent.ts

+ 8 - 0
src/Audio/audioSceneComponent.ts

@@ -364,6 +364,10 @@ export class AudioSceneComponent implements ISceneSerializableComponent {
         const scene = this.scene;
         this._audioEnabled = false;
 
+        if (Engine.audioEngine.audioContext) {
+            Engine.audioEngine.audioContext.suspend();
+        }
+
         let i: number;
         for (i = 0; i < scene.mainSoundTrack.soundCollection.length; i++) {
             scene.mainSoundTrack.soundCollection[i].pause();
@@ -384,6 +388,10 @@ export class AudioSceneComponent implements ISceneSerializableComponent {
         const scene = this.scene;
         this._audioEnabled = true;
 
+        if (Engine.audioEngine.audioContext) {
+            Engine.audioEngine.audioContext.resume();
+        }
+
         let i: number;
         for (i = 0; i < scene.mainSoundTrack.soundCollection.length; i++) {
             if (scene.mainSoundTrack.soundCollection[i].isPaused) {