微信小程序API 背景音频播放管理

2017-07-26

wx.getBackgroundAudioManager()

基础库 1.2.0 开始支持,低版本需做兼容处理

获取全局唯一的背景音频管理器backgroundAudioManager

backgroundAudioManager

backgroundAudioManager 对象的属性列表:

属性类型说明只读
durationNumber当前音频的长度(单位:s),只有在当前有合法的 src 时返回
currentTimeNumber当前音频的播放位置(单位:s),只有在当前有合法的 src 时返回
pausedBoolean当前是是否暂停或停止状态,true 表示暂停或停止,false 表示正在播放
srcString音频的数据源,默认为空字符串,当设置了新的 src 时,会自动开始播放 ,目前支持的格式有 m4a, aac, mp3, wav
startTimeNumber音频开始播放的位置(单位:s)
bufferedNumber音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲。
titleString音频标题,用于做原生音频播放器音频标题。原生音频播放器中的分享功能,分享出去的卡片标题,也将使用该值。
epnameString专辑名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。
singerString歌手名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。
coverImgUrlString封面图url,用于做原生音频播放器背景图。原生音频播放器中的分享功能,分享出去的卡片配图及背景也将使用该图。
webUrlString页面链接,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。

backgroundAudioManager 对象的方法列表:

方法参数说明
play 播放
pause 暂停
stop 停止
seekposition跳转到指定位置,单位 s
onCanplaycallback背景音频进入可以播放状态,但不保证后面可以流畅播放
onPlaycallback背景音频播放事件
onPausecallback背景音频暂停事件
onStopcallback背景音频停止事件
onEndedcallback背景音频自然播放结束事件
onTimeUpdatecallback背景音频播放进度更新事件
onPrevcallback用户在系统音乐播放面板点击上一曲事件(iOS only)
onNextcallback用户在系统音乐播放面板点击下一曲事件(iOS only)
onErrorcallback背景音频播放错误事件
onWaitingcallback音频加载中事件,当音频因为数据不足,需要停下来加载时会触发

errcode 说明

errCode说明
10001系统错误
10002网络错误
10003文件错误
10004格式错误
-1未知错误

示例代码:

const backgroundAudioManager = wx.getBackgroundAudioManager()

backgroundAudioManager.title = '此时此刻'
backgroundAudioManager.epname = '此时此刻'
backgroundAudioManager.singer = '汪峰'
backgroundAudioManager.coverImgUrl = 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000'
backgroundAudioManager.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' // 设置了 src 之后会自动播放