功能描述
获取全局唯一的背景音频管理器。 小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。
从微信客户端6.7.2版本开始,若需要在小程序切后台后继续播放音频,需要在 app.json 中配置 requiredBackgroundModes 属性。开发版和体验版上可以直接生效,正式版还需通过审核。
常用api
-
BackgroundAudioManager.play()播放音乐,音频管理器处于暂停时调用。
-
BackgroundAudioManager.onWaiting(function listener)监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发。结合 BackgroundAudioManager.onCanplay(function listener)一起使用,以提高用户体验。当音频文件较大时,需要一定时间加载音频文件,此时需要onWaiting和onCanplay来监听管理器。
-
BackgroundAudioManager.onEnded(function listener)监听背景音频自然播放结束事件。可用于实现自动播放下一曲的功能。
-
BackgroundAudioManager.onTimeUpdate(function listener)监听背景音频播放进度更新事件,只有小程序在前台时会回调。获取音频管理器当前播放进度,属性名为
currentTime
常见问题
-
文件加载失败
目前只支持的文件格式有:m4a, aac, mp3, wav。如果还是无法加载文件可尝试二次转换。
-
音频无法播放
音频管理器实例需要赋值singer,coverImgUrl,title,src这些属性,不然无法正常播放,其中赋值src之后音频会自动播放。
-
seek()进度跳转api不生效
该api只能跳转到音频长度以内,使用时需要做好判断。
-
小程序切换到后台之后继续播放
需要在 app.json 中配置
requiredBackgroundModes属性。 要注意此功能上线需要审核,最好提前做好审核准备。