fix: 修复翻牌音效播放失败问题
移除 AudioController 依赖,直接使用 Audio 对象播放新增的 checkout.mp3 音频文件,避免因 AudioController 实例化或配置问题导致的音效播放失败。
This commit is contained in:
BIN
apps/admin/src/assets/audio/checkout.mp3
Normal file
BIN
apps/admin/src/assets/audio/checkout.mp3
Normal file
Binary file not shown.
@ -1,20 +1,19 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, onMounted, ref, watch } from 'vue'
|
import { computed, onMounted, ref, watch } from 'vue'
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
|
import checkoutAudio from '@/assets/audio/checkout.mp3'
|
||||||
import CompetitionLayout from '@/components/custom/user/CompetitionLayout.vue'
|
import CompetitionLayout from '@/components/custom/user/CompetitionLayout.vue'
|
||||||
import { PublishStatus } from '@/enum/business'
|
import { PublishStatus } from '@/enum/business'
|
||||||
import { useRouterPush } from '@/hooks/common/router'
|
import { useRouterPush } from '@/hooks/common/router'
|
||||||
import { fetchUpdatePublishStatus } from '@/service/api/competition'
|
import { fetchUpdatePublishStatus } from '@/service/api/competition'
|
||||||
import { fetchGetQuestionTableByActivityID } from '@/service/api/game'
|
import { fetchGetQuestionTableByActivityID } from '@/service/api/game'
|
||||||
import { useActivityInfoStore } from '@/store/modules/activityinfo'
|
import { useActivityInfoStore } from '@/store/modules/activityinfo'
|
||||||
import { AudioController } from '@/utils/audio'
|
|
||||||
import { filterRepeat } from '@/utils/data'
|
import { filterRepeat } from '@/utils/data'
|
||||||
|
|
||||||
const activityInfoStore = useActivityInfoStore()
|
const activityInfoStore = useActivityInfoStore()
|
||||||
const activityInfo = computed(() => activityInfoStore.activityInfo)
|
const activityInfo = computed(() => activityInfoStore.activityInfo)
|
||||||
|
|
||||||
const { routerPushByKey, routerBack } = useRouterPush()
|
const { routerPushByKey, routerBack } = useRouterPush()
|
||||||
const audioController = new AudioController()
|
|
||||||
|
|
||||||
interface QuestionItem {
|
interface QuestionItem {
|
||||||
id: number
|
id: number
|
||||||
@ -128,7 +127,8 @@ function toggleFlip(index: number) {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
flippedCards.value.add(index)
|
flippedCards.value.add(index)
|
||||||
audioController.play('flip') // 翻牌动效
|
const audio = new Audio(checkoutAudio)
|
||||||
|
audio.play().catch(e => console.error('Play audio failed', e))
|
||||||
}
|
}
|
||||||
// 每次点击都播放翻牌音效(无论翻开还是翻回去)
|
// 每次点击都播放翻牌音效(无论翻开还是翻回去)
|
||||||
// audioController.play('flip')
|
// audioController.play('flip')
|
||||||
|
|||||||
Reference in New Issue
Block a user