前端小白006:关于uniapp小程序背景音频和音频一些注意事项
全局唯一的背景音频
背景音频好处就是可以后台播放音频,不好的就是没有销毁实例的方法,不清楚小程序是不是每新建一个背景音频实例就会自动销毁上一个背景音频实例
权限申请
- ios App平台,背景播放需在manifest.json -> app-plus -> distribute -> ios 节点添加 “UIBackgroundModes”:[“audio”] 才能保证音乐可以后台播放(打包成ipa生效)
- 小程序平台,需在manifest.json 对应的小程序节点下,填写"requiredBackgroundModes": [“audio”]。发布小程序时平台会审核
- Android App端默认不会在通知栏出现音量控制,如需此功能,需要在插件市场单独下载原生插件
背景音频和音频同时存在
这个我是先创建全局的背景音频在状态管理存储,然后从列表进详情页的过程会触发一个创建音频的方法用于获取音频详情的总时长,就是因为这个原因,音频实例替换了背景音频或者说是权重比背景音频还高,导致在详情页熄屏会暂停播放或者静音模式下(如果没配置音频属性obeyMuteSwitch: false),微信小程序IOS端会没声音
解决办法(个人推测)
虽然音频实例在获取总时长的时候就销毁了,但是微信小程序IOS端问题还是存在。个人推测,在音频销毁后重新实例化背景音频。我个人的解决办法就是不使用音频获取总时长,完美解决音频和背景音频冲突问题
个人结语
缅怀先烈,勿忘国耻,致敬那些用鲜血和生命抗争的人!