需求:若需要在小程序切后台后继续播放音频
step1:
app.json中这么写:
"requiredBackgroundModes": [
"audio"
],
然后使用backgroundAudioManager创建一个音频:
const backgroundAudioManager = wx.getBackgroundAudioManager()
backgroundAudioManager.title = '此时此刻'
backgroundAudioManager.epname = '此时此刻'
backgroundAudioManager.singer = '许巍'
backgroundAudioManager.coverImgUrl = 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000'
// 设置了 src 之后会自动播放
backgroundAudioManager.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'
这时候就能看到在手机上即使退到后台也可以听到播放的。
安卓上的效果,使用鼠标缩小屏幕吧。
不会循环播放的。
这个backgroundAudioManager的语法和audio的几乎一模一样。所以audio那个对象能实现的,这个也都能实现。而且人家还可以后台播放。那么为什么会有两个?
Q:
wx.getBackgroundAudioManager()和wx.createInnerAudioContext()
这两个有什么区别呢 背景音乐和音频播放?
A:
背景音乐
全局只用有一个实例,切换了src,之前音频的播放状态就丢失了
手机系统的静音模式下依然可以正常播放
手机息屏后依然正常播放
开始播放后即托管给手机的音乐播放器控制,暂停、上一曲、下一曲切换
普通音频播放:
全局最多5个实例(查文档确认)
在有些手机的静音模式下播放时,其它一切正常,但没有声音
手机息屏后自动停止