微信小程序API 背景音频·BackgroundAudioManager实例
BackgroundAudioManager
BackgroundAudioManager 实例,可通过 wx.getBackgroundAudioManager 获取。
属性
string src
音频的数据源(2.2.3 开始支持云文件ID)。默认为空字符串,当设置了新的 src 时,会自动开始播放,目前支持的格式有 m4a, aac, mp3, wav。
number startTime
音频开始播放的位置(单位:s)。
string title
音频标题,用于原生音频播放器音频标题(必填)。原生音频播放器中的分享功能,分享出去的卡片标题,也将使用该值。
string epname
专辑名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。
string singer
歌手名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。
string coverImgUrl
封面图 URL,用于做原生音频播放器背景图。原生音频播放器中的分享功能,分享出去的卡片配图及背景也将使用该图。
string webUrl
页面链接,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。
string protocol
基础库 1.9.94 开始支持,低版本需做兼容处理。
音频协议。默认值为 'http',设置 'hls' 可以支持播放 HLS 协议的直播音频。
number playbackRate
基础库 2.11.0 开始支持,低版本需做兼容处理。
播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本)
number duration
当前音频的长度(单位:s),只有在有合法 src 时返回。(只读)
number currentTime
当前音频的播放位置(单位:s),只有在有合法 src 时返回。(只读)
boolean paused
当前是否暂停或停止。(只读)
number buffered
音频已缓冲的时间,仅保证当前播放时间点到此时间点内容已缓冲。(只读)
方法:
BackgroundAudioManager.onCanplay(function callback)
监听背景音频进入可播放状态事件。 但不保证后面可以流畅播放
参数
function callback
背景音频进入可播放状态事件的回调函数
BackgroundAudioManager.onEnded(function callback)
监听背景音频自然播放结束事件
参数
function callback
背景音频自然播放结束事件的回调函数
BackgroundAudioManager.onError(function callback)
监听背景音频播放错误事件
参数
function callback
背景音频播放错误事件的回调函数
BackgroundAudioManager.onNext(function callback)
监听用户在系统音乐播放面板点击下一曲事件(仅iOS)
参数
function callback
用户在系统音乐播放面板点击下一曲事件的回调函数
BackgroundAudioManager.onPause(function callback)
监听背景音频暂停事件
参数
function callback
背景音频暂停事件的回调函数
BackgroundAudioManager.onPlay(function callback)
监听背景音频播放事件
参数
function callback
背景音频播放事件的回调函数
BackgroundAudioManager.onPrev(function callback)
监听用户在系统音乐播放面板点击上一曲事件(仅iOS)
参数
function callback
用户在系统音乐播放面板点击上一曲事件的回调函数
BackgroundAudioManager.onSeeked(function callback)
监听背景音频完成跳转操作事件
参数
function callback
背景音频完成跳转操作事件的回调函数
BackgroundAudioManager.onSeeking(function callback)
监听背景音频开始跳转操作事件
参数
function callback
背景音频开始跳转操作事件的回调函数
BackgroundAudioManager.onStop(function callback)
监听背景音频停止事件
参数
function callback
背景音频停止事件的回调函数
BackgroundAudioManager.onTimeUpdate(function callback)
监听背景音频播放进度更新事件,只有小程序在前台时会回调。
参数
function callback
背景音频播放进度更新事件的回调函数
BackgroundAudioManager.onWaiting(function callback)
监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发
参数
function callback
音频加载中事件的回调函数
BackgroundAudioManager.pause()
暂停音乐
错误
错误码 | 错误信息 | 说明 |
---|---|---|
10001 | 系统错误 | |
10002 | 网络错误 | |
10003 | 文件错误 | |
10004 | 格式错误 | |
-1 | 未知错误
|
BackgroundAudioManager.play()
播放音乐
错误
错误码 | 错误信息 | 说明 |
---|---|---|
10001 | 系统错误 | |
10002 | 网络错误 | |
10003 | 文件错误 | |
10004 | 格式错误 | |
-1 | 未知错误 |
BackgroundAudioManager.seek(number currentTime)
跳转到指定位置
参数
number currentTime
跳转的位置,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度
错误
错误码 | 错误信息 | 说明 |
---|---|---|
10001 | 系统错误 | |
10002 | 网络错误 | |
10003 | 文件错误 | |
10004 | 格式错误 | |
-1 | 未知错误 |
BackgroundAudioManager.stop()
停止音乐
错误
错误码 | 错误信息 | 说明 |
---|---|---|
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'
// 设置了 src 之后会自动播放
backgroundAudioManager.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'