feat: port duck quack sound (Ya1/Ya2) + system.audio lazy playback on mascot tap
This commit is contained in:
@@ -18,6 +18,28 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// 懒加载 @system.audio,避免模拟器/无扬声器时崩
|
||||
let audioModule = null
|
||||
let audioTried = false
|
||||
function loadAudio() {
|
||||
if (audioTried) return audioModule
|
||||
audioTried = true
|
||||
try {
|
||||
audioModule = require('@system.audio')
|
||||
} catch (e) {
|
||||
audioModule = null
|
||||
}
|
||||
return audioModule
|
||||
}
|
||||
function playDuckSound() {
|
||||
const a = loadAudio()
|
||||
if (!a) return
|
||||
try {
|
||||
a.src = '/common/Ya1.mp3'
|
||||
a.play()
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
export default {
|
||||
private: {
|
||||
isPeak: false,
|
||||
@@ -59,7 +81,8 @@ export default {
|
||||
},
|
||||
|
||||
onTap() {
|
||||
// Q 弹互动
|
||||
// Q 弹互动 + 小黄鸭叫声(无扬声器时静默)
|
||||
playDuckSound()
|
||||
this.tapAnim = true
|
||||
const self = this
|
||||
setTimeout(() => { self.tapAnim = false }, 400)
|
||||
|
||||
Reference in New Issue
Block a user