qq.getBackgroundAudioManager

BackgroundAudioManager qq.getBackgroundAudioManager()

获取全局唯一的背景音频管理器。小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。

若需要在小程序切后台后继续播放音频,需要在 app.json 中配置 requiredBackgroundModes 属性。开发版和体验版上可以直接生效,正式版还需通过审核。

返回值

BackgroundAudioManager

BackgroundAudioManager

BackgroundAudioManager 实例,可通过 qq.getBackgroundAudioManager 获取。

属性

string src

音频的数据源。默认为空字符串,当设置了新的 src 时,会自动开始播放,目前支持的格式有 m4a, aac, mp3, wav。

number startTime

音频开始播放的位置(单位:s)。

string title

音频标题,用于原生音频播放器音频标题(必填)。原生音频播放器中的分享功能,分享出去的卡片标题,也将使用该值。

string epname

专辑名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。

string singer

歌手名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。

string coverImgUrl

封面图 URL,用于做原生音频播放器背景图。原生音频播放器中的分享功能,分享出去的卡片配图及背景也将使用该图。

string webUrl

页面链接,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。

string protocol

音频协议。默认值为 'http',设置 'hls' 可以支持播放 HLS 协议的直播音频。

number duration

当前音频的长度(单位:s),只有在有合法 src 时返回。(只读)

number currentTime

当前音频的播放位置(单位:s),只有在有合法 src 时返回。(只读)

boolean paused

当前是否暂停或停止。(只读)

number buffered

音频已缓冲的时间,仅保证当前播放时间点到此时间点内容已缓冲。(只读)

方法

BackgroundAudioManager.play()

播放音乐

BackgroundAudioManager.pause()

暂停音乐

BackgroundAudioManager.seek(number currentTime)

跳转到指定位置

BackgroundAudioManager.stop()

停止音乐

BackgroundAudioManager.onCanplay(function callback)

监听背景音频进入可播放状态事件。但不保证后面可以流畅播放

BackgroundAudioManager.onWaiting(function callback)

监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发

BackgroundAudioManager.onError(function callback)

监听背景音频播放错误事件

BackgroundAudioManager.onPlay(function callback)

监听背景音频播放事件

BackgroundAudioManager.onPause(function callback)

监听背景音频暂停事件

BackgroundAudioManager.onSeeking(function callback)

监听背景音频开始跳转操作事件

BackgroundAudioManager.onSeeked(function callback)

监听背景音频完成跳转操作事件

BackgroundAudioManager.onEnded(function callback)

监听背景音频自然播放结束事件

BackgroundAudioManager.onStop(function callback)

监听背景音频停止事件

BackgroundAudioManager.onTimeUpdate(function callback)

监听背景音频播放进度更新事件

BackgroundAudioManager.onNext(function callback)

监听用户在系统音乐播放面板点击下一曲事件(仅iOS)

BackgroundAudioManager.onPrev(function callback)

监听用户在系统音乐播放面板点击上一曲事件(仅iOS)

示例代码

  1. const backgroundAudioManager = qq.getBackgroundAudioManager()
  2. backgroundAudioManager.title = '此时此刻'
  3. backgroundAudioManager.epname = '此时此刻'
  4. backgroundAudioManager.singer = '许巍'
  5. backgroundAudioManager.coverImgUrl = 'https://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000'
  6. // 设置了 src 之后会自动播放
  7. backgroundAudioManager.src = 'https://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'

.onCanplay

BackgroundAudioManager.onCanplay(function callback)

监听背景音频进入可播放状态事件。但不保证后面可以流畅播放

参数

function callback

背景音频进入可播放状态事件的回调函数

.onEnded

BackgroundAudioManager.onEnded(function callback)

监听背景音频自然播放结束事件

参数

function callback

背景音频自然播放结束事件的回调函数

.onError

BackgroundAudioManager.onError(function callback)

监听背景音频播放错误事件

参数

function callback

背景音频播放错误事件的回调函数

.onNext

BackgroundAudioManager.onNext(function callback)

监听用户在系统音乐播放面板点击下一曲事件(仅iOS)

参数

function callback

用户在系统音乐播放面板点击下一曲事件的回调函数

.onPause

BackgroundAudioManager.onPause(function callback)

监听背景音频暂停事件

参数

function callback

背景音频暂停事件的回调函数

.onPlay

BackgroundAudioManager.onPlay(function callback)

监听背景音频播放事件

参数

function callback

背景音频播放事件的回调函数

.onPrev

BackgroundAudioManager.onPrev(function callback)

监听用户在系统音乐播放面板点击上一曲事件(仅iOS)

参数

function callback

用户在系统音乐播放面板点击上一曲事件的回调函数

.onSeeked

BackgroundAudioManager.onSeeked(function callback)

监听背景音频完成跳转操作事件

参数

function callback

背景音频完成跳转操作事件的回调函数

.onSeeking

BackgroundAudioManager.onSeeking(function callback)

监听背景音频开始跳转操作事件

参数

function callback

背景音频开始跳转操作事件的回调函数

.onStop

BackgroundAudioManager.onStop(function callback)

监听背景音频停止事件

参数

function callback

背景音频停止事件的回调函数

.onTimeUpdate

BackgroundAudioManager.onTimeUpdate(function callback)

监听背景音频播放进度更新事件

参数

function callback

背景音频播放进度更新事件的回调函数

.onWaiting

BackgroundAudioManager.onWaiting(function callback)

监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发

参数

function callback

音频加载中事件的回调函数

.pause

BackgroundAudioManager.pause()

暂停音乐

错误

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

.play

BackgroundAudioManager.play()

播放音乐

错误

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

.seek

BackgroundAudioManager.seek(number currentTime)

跳转到指定位置

参数

number currentTime

跳转的位置,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度

错误

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

.stop

BackgroundAudioManager.stop()

停止音乐

错误

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