ソースを参照

进入热点详情页时背景音暂停——逻辑bug fix

(cherry picked from commit d4132d06b08608a0d009ab5273e664ae2db46e40)
任一存 2 年 前
コミット
7a6fc54aba
1 ファイル変更24 行追加15 行削除
  1. 24 15
      src/components/assembly/MobileTags/index.vue

+ 24 - 15
src/components/assembly/MobileTags/index.vue

@@ -67,22 +67,31 @@ const musicPlayer = useMusicPlayer()
 const soundPlayer = useSoundPlayer()
 const needResumeMusic = ref(false)
 const needResumeSound = ref(false)
-onMounted(() => {
-  if (musicPlayer.isPlay) {
-    needResumeMusic.value = true
-    musicPlayer.pause()
-  }
-  if (soundPlayer.isPlay) {
-    needResumeSound.value = true
-    soundPlayer.pause()
-  }
+window.musicPlayer = musicPlayer
+window.soundPlayer = soundPlayer
+
+const isShowing = computed(() => {
+  return !!currentTag.value.hotspotType
 })
-onUnmounted(() => {
-  if (needResumeMusic.value) {
-    musicPlayer.play()
-  }
-  if (needResumeSound.value) {
-    soundPlayer.play()
+watch(isShowing, (v) => {
+  if (v) {
+    if (musicPlayer.isPlay) {
+      needResumeMusic.value = true
+      musicPlayer.pause()
+    }
+    if (soundPlayer.isPlay) {
+      needResumeSound.value = true
+      soundPlayer.pause()
+    }
+  } else {
+    if (needResumeMusic.value) {
+      musicPlayer.play()
+      needResumeMusic.value = false
+    }
+    if (needResumeSound.value) {
+      soundPlayer.play()
+      needResumeSound.value = false
+    }
   }
 })
 </script>