步骤一:封装音频初始化函数,确保配置完整
javascript
function initAudio() {
const audio = uni.createInnerAudioContext()
audio.src = '/static/music.mp3'
audio.loop = true
audio.obeyMuteSwitch = false
audio.volume = 0.7
// 监听错误(调试用)
audio.onError((e) => {
console.error('音频错误', e)
})
audioInstance.value = audio
}
步骤二:初始化调用
javascript
onMounted(() => {
initAudio()
})
onShow(() => {
// 页面显示时尝试恢复播放
audioInstance.value?.play().catch(e => {
console.log('播放被阻止,等待用户交互')
})
})
onHide(() => {
// 页面隐藏时暂停(不销毁!)
audioInstance.value?.pause()
})
onUnload(() => {
// 页面卸载时才销毁
audioInstance.value?.destroy()
})