From 8ba5b1346308451e2c66f4414aa2c0b242d503d2 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期四, 27 六月 2024 15:31:49 +0800
Subject: [PATCH] 英语音频播放优化

---
 src/books/English/view/components/index.vue |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/books/English/view/components/index.vue b/src/books/English/view/components/index.vue
index 4b14da9..60252e6 100644
--- a/src/books/English/view/components/index.vue
+++ b/src/books/English/view/components/index.vue
@@ -14,25 +14,21 @@
       ></pageHeader>
       <chapterOne
         @saveCharacters="saveCharacters"
-        @closeMiniAudio="closeMiniAudio"
         v-if="showCatalogList.indexOf(2) > -1"
         :showPageList="loadPageList"
       ></chapterOne>
       <chapterTwo
         @saveCharacters="saveCharacters"
-        @closeMiniAudio="closeMiniAudio"
         v-if="showCatalogList.indexOf(3) > -1"
         :showPageList="loadPageList"
       ></chapterTwo>
       <chapterThree
         @saveCharacters="saveCharacters"
-        @closeMiniAudio="closeMiniAudio"
         v-if="showCatalogList.indexOf(4) > -1"
         :showPageList="loadPageList"
       ></chapterThree>
       <chapterFour
         @saveCharacters="saveCharacters"
-        @closeMiniAudio="closeMiniAudio"
         v-if="showCatalogList.indexOf(5) > -1"
         :showPageList="loadPageList"
       ></chapterFour>
@@ -112,6 +108,7 @@
         setTimeout(() => {
           this.initSwiper();
           this.initViewer();
+          this.closeAudio()
         }, 200);
       },
     },
@@ -901,6 +898,25 @@
     closeMiniAudio() {
       this.audioPath = "";
     },
+    // 鐐瑰嚮闊抽鎾斁锛屽叧闂叾浠栭煶棰�
+    closeAudio() {
+      let allAudio = (
+        this.container ? this.container : document
+      ).querySelectorAll(".audio");
+      for (let index = 0; index < allAudio.length; index++) {
+        const item = allAudio[index];
+        item.addEventListener("play", () => {
+          const audioList = Array.from(allAudio);
+          for (let cindex = 0; cindex < audioList.length; cindex++) {
+            const citem = audioList[cindex];
+            if (citem.currentSrc != item.src) {
+              citem.pause();
+            }
+          }
+          this.closeMiniAudio();
+        });
+      }
+    },
   },
   components: {
     pageHeader,

--
Gitblit v1.9.1