diff --git a/src/audioManager.js b/src/audioManager.js index fc7f899..81cc841 100644 --- a/src/audioManager.js +++ b/src/audioManager.js @@ -89,6 +89,8 @@ export const audioFils = { "https://static.shelingxingqiu.com/attachment/2025-11-13/de7kzzllq0futwynso.mp3", 练习开始: "https://static.shelingxingqiu.com/attachment/2025-11-14/de88w0lmmt43nnfmoi.mp3", + 练习结束: + "https://static.shelingxingqiu.com/shootmini/static/audio/%E7%BB%83%E4%B9%A0%E7%BB%93%E6%9D%9F.mp3", 射箭声音: "https://static.shelingxingqiu.com/shootaudio/v4/v4/%E7%AE%AD%E9%A3%9E%E8%A1%8C.mp3", 命中: @@ -102,6 +104,7 @@ const AUDIO_WARM_PRIORITY_KEYS = [ "点击按钮", "比赛开始", "练习开始", + "练习结束", "请开始射击", "轮到你了", "比赛结束", diff --git a/src/components/ShootProgress.vue b/src/components/ShootProgress.vue index 0e0d407..6f4f91c 100644 --- a/src/components/ShootProgress.vue +++ b/src/components/ShootProgress.vue @@ -46,6 +46,10 @@ const props = defineProps({ type: Function, default: () => {}, }, + endAudioKey: { + type: String, + default: "比赛结束", + }, }); const barColor = ref("#fed847"); @@ -144,7 +148,7 @@ async function onReceiveMessage(msg) { halfTime.value = false; audioManager.play(audioKey); } else if (msg.type === MESSAGETYPESV2.BattleEnd) { - audioManager.play("比赛结束", false); + audioManager.play(props.endAudioKey, false); } else if (msg.type === MESSAGETYPESV2.ShootResult) { let arrow = {}; if (msg.details && Array.isArray(msg.details)) { diff --git a/src/pages/practise-one.vue b/src/pages/practise-one.vue index 251e055..026f467 100644 --- a/src/pages/practise-one.vue +++ b/src/pages/practise-one.vue @@ -450,6 +450,7 @@ onBeforeUnmount(() => { }`" :start="start" :onStop="onOver" + end-audio-key="练习结束" /> diff --git a/src/pages/practise-two.vue b/src/pages/practise-two.vue index 735d61e..414aaf6 100644 --- a/src/pages/practise-two.vue +++ b/src/pages/practise-two.vue @@ -459,6 +459,7 @@ onBeforeUnmount(() => { :start="start" :total="3600" :onStop="onOver" + end-audio-key="练习结束" />