瀏覽代碼

Fix audio pause/resume mechanism

David Catuhe 6 年之前
父節點
當前提交
eb0b032d9c
共有 1 個文件被更改,包括 8 次插入0 次删除
  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) {